PL/SQL常用函数(日期、字符、数字、转换、其他、分组)
--create table test as select * from T1 where 1=2;
--复制表结构,不复制数据
--select * from test;
--create table test2 as select * from T1;
--复制整个表到test2
--select * from test2;
--insert into test select * from T1;
--将T1数据插入test表;
--一、日期函数
--sysdate为系统日期 dual为虚表
--2.last_day [返回该月最后一天的日期]
--select last_day(sysdate) from dual;
--3.months_between[返回日期之间的月份数]
--4.next_day(d,day): 返回下个星期的日期,day为1-7或星期日-星期六,1表示星期日
--5.,round舍入到最接近的日期
--6.trunc[截断到最接近的日期]
--7.返回日期列表中最晚日期
--select greatest('01-1月-04','04-1月-04','10-2月-04')from dual;
--二、字符函数
--1.字符串截取
--select substr('abcdef',1,3)from dual;
--2.查找子串位置
--select instr('avcsab','ab')from dual;
--3.字符串连接
--select 'hi'||'hello world' from dual;
--4.去掉字符串中的空格,
--ltrim取消前面字符,rtrim去掉后字符,trim去掉前后字符
--select ltrim(' abc')s1,rtrim('we ')s2,trim(' abc ')s3 from dual;
--5.去掉前导和后缀
--leading去掉前导,trail去掉后缀
--6.返回字符串首字母的Ascii值
--select ascii('a')from dual;
--7.返回ascii值对应的字母
--select chr(98)from dual;
--8.initcap(首字母变大写),lower(变小写),upper(变大写)
--9.Replace
--10.translate
--11.lpad [左添充] rpad 右填充
--12.decode[实现if ..then 逻辑]
--select deptno,decode(deptno,10,'1',20,'2',30,'3','其他') from dual;
--三、数字函数
--1.取整函数(ceil 向上取整,floor 向下取整)
--select ceil(66.23) N1,floor(66.56) N2 from dual;
--2.取幂(power) 和 求平方根(sqrt)
--select power(4,2) N1,sqrt(9) N2 from dual;
--3.求余
--select mod(9,7) from dual;
--4.返回固定小数位数 (round:四舍五入,trunc:直接截断)
--select round(666.667,2)N1,trunc(666.667,2)N2 from dual;
--5.sign返回值的符号(正数返回为1,负数为-1)
--select sign(-32),sign(23) from dual;
--四、转换函数
--1.to_char()[将日期和数字类型转换成字符类型]
--2. to_date()[将字符类型转换为日期类型]
--3.to_number() 转换为数字类型
--select to_number(to_char(sysdate,'hh24')) from dual;
--五、其他函数
--1.user返回当前登录名称
--select user from dual;
--2.vsize;返回表达式所需的字节数
--select vsize('hello')from dual;
--3.nvl(ex1,ex2):
--ex1值为空则返回ex2,否则返回该值本身ex1(常用)
--4.nullif(ex1,ex2): 值相等返空,否则返回第一个值
--5.coalesce:返回列表中第一个非空表达式
--6.nvl2(ex1,ex2,ex3) 如果ex1不为空,显示ex2,否则显示ex3
--六、分组函数
--max min avg count sum
--1.整个结果集是一个组
--2.带group by 和 having 的分组
--3.tddev 返回一组值的标准偏差,variance 返回一组值的方差差
--4.带有rollup和cube操作符的Group By
商业转载请联系作者获得授权,非商业转载请注明本文出处及文章链接