单行函数
只对一行进行变换 每行返回一个结果
单行函数分字符、数值、日期、转换、通用
大小写控制函数:lower,upper,initcap
字符控制函数:concat,substr,length,instr,lpad|rpad,trim,replace
lower,initcap
selectlower('sql')fromdual; --结果sql selectupper('sql')fromdual; --结果sql selectinitcap('sqlCOurs')fromdual; --结果sqlCours首字母大写
concat,lapd|rpd,replace
selectconcat('hello','world')fromdual;//结果helloworld selectsubstr('HelloWorld',1,4)fromdual;//结果Hell从第一个字符开始取4个字符 selectlength('hellowrld')fromdual;//结果9求字符长度*/ selectinstr('Helloword','w')fromdual;//结果6第一次出现W的位置 selectlpad(salary,10,'&')fromemployees;//结果&&&&&&2600左填充& selectrpad(salary,'&')fromemployees;//结果2600&&&&&&左填充& selecttrim('H'from'HHllWoHldHH')fromdual;//结果llWoHld去首尾不去中间
数字控制round,trunc,mod
selectround(45.36954,4)fromdual;//45.3695四舍五入 selecttrunc(45.36954,3)fromdual;//45.369截断 selectmod(1600,300)fromdual;//100求余数
日期控制 日期只可加减 months_betwwen,add_months,next_day,last_day
两个日期相减返回日期之间相差的天数
可以用数字除24来向日期中加上或减去天数
--查询公司中入职时间是每个月最后两天的员工 selectlast_name,to_char(hire_date,'yyyy-mm-dd')hdate fromemployees wherehire_date=last_day(hire_date)-1
--查询到2005年入职超过5年的员工 selectlast_name,'yyyy-mm-dd')fromemployees whereto_date('2005-12-31','yyyy-mm-dd')-hire_date>=5
下个月的今天(系统时间上加1个月) selectadd_months(sysdate,1)fromdual;
--两天后的日期 selectnext_day(sysdate,2)fromdual;原文链接:https://www.f2er.com/oracle/207600.html