单行函数
只对一行进行变换 每行返回一个结果
单行函数分 字符、数值、日期、转换、通用
字符函数:大小写控制函数、字符控制函数
大小写控制函数:lower, upper, initcap
字符控制函数:concat,substr,length,instr,lpad|rpad,trim,replace
lower,upper,initcap
select lower(‘SQL‘) from dual; --结果 sql select upper(‘sql‘) from dual; --结果 SQL select initcap(‘SQL COurs‘) from dual; --结果 Sql Cours 首字母大写
concat,substr,length,instr,lapd|rpd,trim ,replace
select concat(‘hello‘,‘world‘) from dual; //结果 helloworld select substr(‘HelloWorld‘,1,4) from dual; //结果 Hell 从第一个字符开始取4个字符 select length(‘hellowrld‘) from dual; //结果 9 求字符长度*/ select instr(‘Helloword‘,‘w‘) from dual; //结果 6 第一次出现W的位置 select lpad(salary ,10,‘&‘) from employees ; //结果 &&&&&&2600 左填充& select rpad(salary ,10,‘&‘) from employees ; //结果 2600&&&&&& 左填充& select trim(‘H‘ from ‘HHllWoHldHH‘)from dual; //结果 llWoHld 去首尾不去中间
数字控制 round,trunc,mod
select round(45.36954,4) from dual; // 45.3695四舍五入 select trunc(45.36954,3) from dual; // 45.369 截断 select mod(1600,300) from dual; // 100 求余数
日期控制 日期只可加减 months_betwwen,add_months,next_day,last_day
两个日期相减返回日期之间相差的天数
可以用数字除24来向日期中加上或减去天数
--查询公司中入职时间是每个月最后两天的员工 select last_name,to_char(hire_date,‘yyyy-mm-dd‘) hdate from employees where hire_date=last_day(hire_date)-1
--查询到2005年入职超过5年的员工 select last_name,to_char(hire_date,‘yyyy-mm-dd‘) from employees where to_date(‘2005-12-31‘,‘yyyy-mm-dd‘)-hire_date >=5
下个月的今天(系统时间上加1个月) select add_months(sysdate,1) from dual;
--两天后的日期 select next_day(sysdate,2) from dual;
原文地址:http://10788133.blog.51cto.com/10778133/1967960