码迷,mamicode.com
首页 > 其他好文 > 详细

单行函数

时间:2016-08-01 00:28:54      阅读:383      评论:0      收藏:0      [点我收藏+]

标签:

SQL中不同类型的函数 在SELECT语句中使用字符 数字 日期和转换函数

 

使用条件表达式

  

大致记住 记不住到时候查API(到特殊场景自然会想到用什么)

 

SQL函数分为单行函数和多行函数

 

 

1 五类单行函数

字符 通用 数值 转换 日期

 

2字符函数有大小写控制函数和字符控制函数

 

字符大小写控制函数 有Lower upper capdit(首字母大写)

 

字符控制函数 CONCAT(字符串连接)concat(‘hello’,’world’)

              SUBSTR(截取) substr(‘hello’,1,3);

              LENGTH(长度) length(‘hello’)

             INSTR(第几个字符)instr(‘hello’,l) 首次出现的位置

             LPAD (左对齐)lpad(salary,10,’*’);  左边补位至10

             RPAD  (右对齐)rpad(salary,10,’*’)  右边补位至10

             TRIM(移除)  trim(‘h’,from ‘helloworld’)  移除首尾

             REPLACE(代替)replace‘abcdab,’b’,’m’)

 

 

3数字函数

ROUND(四舍五入) 如round(435.45,2)

TRUNC  (截断)

MOD  (求余)

 

4日期函数

日期之间不能做加法  无意义

两个日期相差月数   months_between()

向一个月份添加月数 Add_month()    也可以减少

Next_Day(sysdate,’星期日)  最近的下一个星期日

LAST_day 本月的最后一天

ROUND 日期四舍五入

TRUNC 日期截断  可以按年 月 日进行四舍五入和截断

 

5转换函数(重点)

分为显式转换和隐式转换

 

隐式转换 相当于oracle会自动地完成这些转换

Date<-------->varhcar<------->NUMBER

显示转换

TO_DATE

TO_NUMBER

TO_CHAR

例如 where to_char(hiredate,’yyyy-mm-dd’)=’1994-06-07’

Whree to_date(‘1994-06-07’,’yyyy-mm-dd’)=hiredate

 

6通用函数

这些函数适用于任何数据类型 同时也适用于空值

NVL(将空值转换成一个已知的值)

NVL1EXP1EXP2) 当EXP1不为空 就选择EXP1的值 否则EXP2

NVL2(EXP1EXP2EXP3) EXP1不为空 选择EXP2  为空选择EXP3

NULLIF(EXP1EXP2) 相等返回NULL,不等返回EXP1

COALESCE

 

条件表达式

SQL语句中使用IF-THEN-ELSE逻辑

使用两种方法

-CASE表达式

例如

Select employee_id,last_name,department_id,case deparement_id when 10 then salary*1.1 when 20 then salary*1.2 else salary*1.3 end

From employees

Where department_id in (10,20,30)

 

 

 

-DECODE函数

 

7 单行函数之间可以嵌套

 

单行函数

标签:

原文地址:http://www.cnblogs.com/HJL085/p/5724307.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!