sql函数笔记

一、字符控制函数

lower(‘’)全部小写

upper(‘’)全部大写

initcap(‘’)单词首字母大写

select * from employees where lower(last_name) = ‘king’;

连接contact(‘’,’’)

截取Substr(‘helloworld’,2,4)从第二个位置开始,输出四个

字符长度Length(‘helloworld’)

Instr(‘helllworld’,’w’) w首次出现的位置 未出现返回0

Lpad(last_name,’*’)10位不齐,左边补*

Rpad(last_name,’*’)) 10位不齐,右边补*

Trim(‘h’ from ‘helloword’)h从字符段中移除(首尾位h)

Replace(‘abcd’,’b’,’a’)b替代为a 替代所有的a

二、数字函数

Round(123.123,2)保留两位小数

Round(123.123)保留到整数

Round(123.123,-2)保留到百位

Trunk()截断

Round(123.123,2)截断两位小数

Round(123.123)截断到整数

Round(123.123,-2)截断到百位

Mod求余

Mod(1200,100)

三、日期的数学运算

日期加上或减上一个数字,结果仍为日期

两个日期之间相差返回日期相差天数

日期之间不能做加法

数字除24向日期中加上或减去天数

Months_between(sysdate,hire_date):两个日期相差的月数

Add_months(sysdate,12):向指定日期加上若干月数Add_months(sysdate,-12)

Next_day(sysdate,’星期一’):

Last_day(syadate)当月倒数第一天

Round(sysdate,’month’)

Round(sydate,’year’)

Trunc(sysdate,’month’)

Trunc(sysdate,’year’)

隐式类型转化

Date<->varchar2<->number

显示数据转换

Select employ_id,hire_date from employees where to_char(hire_date,’yyyy-mm-dd’) = ‘1994-06-07’;

To_char()

To_number()

通用函数

Nvl(expr1,expr2):如果expr1为空,就用恶心pr代替。如果不为空就是其本身

Nvl2(expr1,expr2,expr3):expr1不为null,返回expr2,为空返回expr3

Nullif(expr1,expr2):相等返回null,不等返回expr1

Coalesce(commission_pct,null,10)commission_pct为空返回后面,后面在为空,返回下一个,依次往后

条件表达式

Case表达式

Select last_name,employee_id,department_id

Case department_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函数


转载于:https://my.oschina.net/u/1051716/blog/510731

你可能感兴趣的:(sql函数笔记)