基于ORALCE10下测试
一 大小写函数 改变字符的大小写
FUNCTION RESULT
LOWER('SQL Course') sql course
UPPER('SQL Course') SQL COURSE
INITCAP('SQL Course') Sql Course
LOWER:转换所有字符为小写
UPPER:转换所有字符为大写
INITCAP:转换首字符为大写 其余为小写
二:字符控制函数 控制字符
FUNCTION RESULT
CONCAT('Hello', 'World') HelloWorld
SUBSTR('HelloWorld',1,5) Hello
LENGTH('HelloWorld') 10
INSTR('HelloWorld','W') 6
LPAD('Hello',10,'*') *****Hello
RPAD('Hello',10,'*') Hello*****
TRIM('H' FROM 'HelloWorld') elloWorld
INSTR:INSTR(字符串,字符)字符在字符串中的位置,可以判断在字符串中是否存在
SUBSTR:SUBSTR(字符串,起始位置,截取长度) 若其实位置为负数,则从右向左截取
如:SUBSTR('HelloWorld',-1)=d,SUBSTR('HelloWorld',-2)=ld
三:数字函数
ROUND: 四舍五入
ROUND(45.926, 2) 45.93
TRUNC: 截断
TRUNC(45.926, 2) 45.92
MOD: 求余
MOD(1600, 300) 100
四:日期函数
MONTHS_BETWEEN: 两日期相差多少月
ADD_MONTHS: 以日期加月份
NEXT_DAY: 下一日期 注意:此函数表示的是某一日期的下一星期几 两个参数 第一个参数日期 第二个 参数为星期几 如:sunday SELECT NEXT_DAY(sysdate,'sunday') FROM dual;
LAST_DAY: 一个月中的最后一天
如:SELECT LAST_DAY(sysdate) FROM dual;
ROUND日期:
sysdate='24-MAR-15'
SELECT ROUND(sysdate,'MONTH') FROM dual; '1-APR-15'
SELECT ROUND(sysdate,'YEAR') FROM dual; '1-JAN-15' 若月份>6 则:'1-JAN-16'
TRUNC日期:
sysdate='24-MAR-15'
SELECT TRUNC(sysdate,'MONTH') FROM dual; '1-MAR-15'
SELECT ROUND(sysdate,'YEAR') FROM dual; '1-JAN-15'