1,数值函数
Select abs(-9),--9 绝对值 Mod(5,3),--2 余数 Sign(-9),-- -1 标记 Ceil(9.4),--10 Floor(9.8),--9 Sqrt(100),--10 平方根 Power(2,3),Exp(2),--8 2的3次方幂 e^2 Log(10,100),Ln(100),--10为底100的对数 2,100的自然对数 Round(45.67,1),round(45.67,-1),--四舍五入 45.7,50 Trunc(45.67,1),trunc(45.67,-1)—截取 45.6,40 From dual;
2,字符串函数
Select Chr(97),--a ASCII码对应默认字符集的字符 Ascii('a'),--97 首字母对应的ascii码 Length('abc'),--字符长度 lengthb('abc'),--字节长度 Substr('abcdef',2,2),substr('abcdef',-2,2),--bc ef Substrb('abcdef',2,2),--bc 已字节为单位 Concat('abc','edf'),--abcedf 连接字符串 instr('abcdbrf','b'),Instr('abcdbrf','b',1,2),--2 5 开始位置及查找第几次出现 upper('abc'),lower('Ask'),--大小写 initcap('this is a line'),--首字母的大写 nls_initcap('this is a line','NLS_SORT = SCHINESE_STROKE_M'),--指定字符集的大小写转换 nlssort('thisfgds',' NLS_SORT = SCHINESE_PINYIN_M'),--指定字符集的排序 replace('i can find yisdf','isdf','ou'),--替换 rpad('line',10,'*'),lpad('line',10,'*'),--左右填充 trim(leading 'a' from 'abca'),--bca 前去除,注意是单个字符去除 同理trailing both ltrim('abcdefcba','abfce') -- defcba 挨个字符查找去除 右去除 Rtrim from dual
3,日期函数
Select sysdate,--29-OCT-15 系统当前时间 systimestamp,--29-OCT-15 03.32.29.105000 PM +08:00 系统时间戳 精确到秒以下 last_day(sysdate),--31-OCT-15本月最后一天日期 next_day(sysdate,'wednesday'),--04-NOV-15下一个星期几的日期 add_months(sysdate,2),--29-DEC-15添加月份 --months_between(date1,date2) extract(year from sysdate),--2015 提取日期中的部分 round(sysdate,'month'),--01-NOV-15四舍五入 trunc(sysdate,'month')-- 01-OCT-15 截取 from dual /
4,转换函数
Select bin_to_num(1,1,1),--7 二进制转十进制 cast(123 as varchar2(4)),cast('123' as integer),--123 类型转换 --to_number('1234.7889','9999.999'),--字符 转格式数字 to_char(1234.7889,'9,999.999'),--数字转格式数字 to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),--日期格式 to_date('2015-09-09','yyyy-mm-dd'),--字符转日期 sysdate + 1-- 加的是天数 from dual /
5,null函数
Select coalesce(null,9,null,8),--9 从左到右返回第一个不为null的值 --lnnvl(sno < 200)--此条件等价为sno >= 200的条件 nvl(null,0),nvl(6,0),--0 6 第一个值为空,返回第二个值 nvl2(null,1,2)--2 第一个值为空,返回第三个值,否则返回第二个值 from dual /
6,集合函数
Avg() sum() count() max() min()
7,表达式匹配函数
Decode 类似于case
Select decode(6, 1,'one', 2,'two', 3,'three', 'no data') -- no data 没有值匹配返回 from dual /