oracle单行函数

来源:互联网 发布:分布式云计算 编辑:程序博客网 时间:2024/06/05 23:50

1、字符函数:

1)大小写控制函数

①转小写

LOWER('SQL Course')  --->  sql course

②转大写

UPPER('SQL Course') ----> SQL COURSE

③首字母大写

INITCAP('SQL Course')  ----> Sql Course

例:

SELECT employee_id,last_name,department_id

FROM   employees

WHERE  LOWER(last_name) = 'higgins';

2)字符控制函数

①字符串拼接函数

CONCAT('Hello', 'World') ----> HelloWorld

②字符串截取函数

SUBSTR('HelloWorld',1,5) ----> Hello

注:其中1是下标索引,5是从索引开始向后移的位数

③字符串长度函数

LENGTH('HelloWorld') ----> 10

④字符串中返回特定位置的函数(下标从1开始)

INSTR('HelloWorld', 'W') ----> 6

⑤字符串左补齐函数

LPAD(salary,10,'*') ----> *****24000

⑥字符串右补齐函数

RPAD(salary, 10, '*') ----> 24000*****

⑦字符串去除前后特定字符函数

TRIM('H' FROM 'HelloHEEH') ----> elloHEE

⑧字符串替换函数(替换所有)

REPLACE(‘abcbd’,’b’,’m’) ----> amcmd

2、数字函数

①四舍五入函数:

例1:ROUND(45.926,2) ----> 45.93

例2:ROUND(45.926,-2) ----> 0

②截断函数:

TRUNC(45.926,2) ----> 45.92

③求余函数:

MOD(1600,300) ----> 100

3、日期函数

①返回两个日期相差的月数

MONTHS_BETWEEN('01-SEP-10','11-JAN-09') ----> 19.6774194

②在指定日期中添加月份数

ADD_MONTHS('01-JAN-10',6) ----> '01-JUL-10'

③返回下一个星期N对应的日期

NEXT_DAY('01-SEP-95','FRIDAY') ----> '08-SEP-95'

④返回本月最后一天

LAST_DAY('01-FEB-95') ----> '28-FEB-95'

⑤日期四舍五入

例①:ROUND('25-JUL-95','MONTH') ----> '01-AUG-95'

例②:ROUND('25-JUL-95','YEAR') ----> '01-JAN-96'

⑥日期截断

例①:TRUNC('25-JUL-95','MONTH') ----> '01-JUL-95'

例②:TRUNC('25-JUL-95','YEAR') ----> '01-JAN-95'

4、函数之间的转换

1)转数字:to_number

2)转字符:to_char

3)转日期:to_date

注:日期的格式是‘yyyy-mm-ddhh:mi:ss

5、其他函数

1)NVL函数:将空值转换成一个特定值


例:SELECT NVL(salary,1000) FROM EMP;

2)NVL2函数:是NVL函数的扩展版
NVL2(expr1, expr2, expr3) : expr1不为NULL,返回expr2;为NULL,返回expr3

例:SELECT NVL2(salary,salary,1000) FROM EMP;





0 0
原创粉丝点击