函数分为单行函数和多行函数
单行函数
单行函数对每一行都会执行输出结果
函数 | 参数 | 描述 |
---|---|---|
ascii(x) | x:任意字符 | 返回指定字符对应的十进制数 |
举例:
select ascii('A') A,ascii('a') A,ascii('0') zero from dual;
函数 | 参数 | 描述 |
---|---|---|
chr(x) | x:数字 | 给定数字返回对应字符 |
举例:
select chr(54740) zhao,chr(65) chr65 from dual;
函数 | 参数 | 描述 |
---|---|---|
concat(x,y) | x: |
举例:
select concat('你好啊~','我的朋友!'),concat (xm,'你好!') from emp;
等同于:select '你好啊~'||'我的朋友!',xm||'你好!' from emp;
函数 | 参数 | 描述 |
---|---|---|
initcap(x) | x:字符串 | 返回字符串并将首字母大写 |
举例:
select initcap('smith') hh from dual;
函数 | 参数 | 描述 |
---|---|---|
instr(c1,c2,i,j) | c1:被搜索的字符串 c2:希望搜索到的字符串 i:搜索开始的位置,默认为1 j:出现的位置,搜索到第几个时结束 | 返回字符串并将首字母大写 |
举例:
select instr('asdfgasdfg','as',1,2) from dual;
函数 | 参数 | 描述 |
---|---|---|
length( c) | c:字符串 | 返回字符串的长度,中文和英文字符相同长度 |
举例:
select length('小腿') from dual; //结果2
函数 | 参数 | 描述 |
---|---|---|
upper( c) | c:字符串 | 将字符串中英文字母转换为大写 |
举例:
select upper('adc 的') from dual;
函数 | 参数 | 描述 |
---|---|---|
exp( n) | n:数字 | 获取e 的n次方 |
举例:
select exp(8) from dual;
函数 | 参数 | 描述 |
---|---|---|
power( m,n) | m:底数 n:指数 | 计算m的n 次方值 |
举例:
select power(2,8) from dual;
函数 | 参数 | 描述 |
---|---|---|
round( m,n) | m:要四舍五入的数 n:指定的位数 大于0时表示要保留的小数,小于0时表示从个位向左的第几位开始四舍五入 | 四舍五入 |
举例:
select round(234.456,2),round(234.456,-2) from dual;
函数 | 参数 | 描述 |
---|---|---|
trunc( m,n) | m:要截取的数 n:指定的位数 大于0时表示从小数点后几位开始截取,小于0时表示从个位向左的第几位开始截取,个位到该位换成0 | 截取数 |
举例:
select trunc(210.546,2),trunc(234.456,-2) from dual; -- 210.54 200
函数 | 参数 | 描述 |
---|---|---|
add_months( date,n) | date:日期 n 增加几个月 大于0时表示增加,小于0时表示减少,必须为整数 | 增加月份 |
举例:
select add_months(to_date('1999-06-12','yyyy-mm-dd'),2) from dual;
函数 | 参数 | 描述 |
---|---|---|
to_char( str,formatStr) | str:日期字符/其他字符 formatStr:格式化字符 | 按指定格式转换为字符串 |
yyyy : 年
mm: 月
dd: 日
hh24: 24小时制 时
hh12: 12小时制 时
mi: 分
ss: 秒
举例:
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss' ) from dual;
函数 | 参数 | 描述 |
---|---|---|
trim( tstr from str) | tstr:要被去掉的字符 不填时默认为空格,只能有一个字符 str:字符串 | 去掉首位指定的字符 |
举例:
select trim('a' from 'aaddffaa' ) from dual; -- ddff
函数 | 参数 | 描述 |
---|---|---|
last_day( date) | date:日期 | 返回指定日期的最后一天 |
举例:
select last_day(sysdate) from dual;
函数 | 参数 | 描述 |
---|---|---|
moths_between( date1,date2) | date1: 指定日期1 date2:指定日期2 | 返回date1与date2 之间相隔的月份(date1-date2) |
举例:
select months_between(to_date('1998-03-22','yyyy-mm-dd'),to_date('1998-04-22','yyyy-mm-dd')) from dual;
函数 | 参数 | 描述 |
---|---|---|
next_day( date,str) | date: 指定日期 str:星期几 如 星期一、星期二 | 返回距离date 最近的下一个星期几的日期 |
举例:
select next_day(sysdate,'星期二') from dual;
函数 | 参数 | 描述 |
---|---|---|
decode( n,match1,data1,match2,data2,…) | n: 被匹配的变量 match1:匹配字符1,data1:返回内容1 | 将变量进行匹配,返回对应的内容,类似于switch,未匹配到返回空字符 |
举例:
select decode( 10 ,10,'10号部门',20,'20hao',30,'30hao') from dual;