标签:
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(将空值转换成一个已知的值)
NVL1(EXP1,EXP2) 当EXP1不为空 就选择EXP1的值 否则EXP2
NVL2(EXP1,EXP2,EXP3) 当EXP1不为空 选择EXP2 为空选择EXP3
NULLIF(EXP1,EXP2) 相等返回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