--1,oncat函数 ,链接两个字符串
SELECT CONCAT('010','0000000000001')||'你好' ccc FROM dual
--2,initcap 函数,返回字符串,并将字符串的第一个字母变为大写
SELECT INITCAP('hello') upp FROM dual
--3,instr(c1,c2,i,j):在一个字符串中搜索指定的字符串,返回发现的指定的字符串的位置
--c1:被搜索的字符串
--c2:希望搜索的字符串
--i:搜索的开始位置 默认为1
--j:出现的位置(出现的次数) 默认为1
SELECT INSTR('oracle traning','ra',3,1) substring FROM dual
--4,lenght : 返回字符串的长度
SELECT LENGTH('name') le FROM dual
--5,lower :返回字符串,并将所有字符串小写
SELECT LOWER('AbCdEfG') abcdefg FROM dual
--6,upper:返回所有字符串,并将字符串大写
SELECT UPPER('AbCdEfG') abcdefg from dual
--7,rpad和lpad,
--rpad:在列的右边粘贴
--lpad:在列的左边粘贴
SELECT LPAD(RPAD('hello',10,'*'),18,'#') FROM dual
--8,ltrim和rtrim
--ltrim:删除左边的空格
--rtrim:删除右边的空格
SELECT LTRIM(RTRIM(' hello oracle ',' '),' ') FROM dual
--9,substr(string,start,count)
--取子字符串,从start开始去count个
SELECT SUBSTR('hello oracle',2,6) FROM dual
--10,replace(string,s1,s2)
--string:希望被替换的字符串或变量
--s1:被替换的字符串
--s2:要替换的字符串
SELECT REPLACE('hello oracle,welcome to here!','to','back to') FROM dual
--trim('s' from 'string')
SELECT TRIM(' oracle ') FROM dual --去掉两边空格
SELECT TRIM(LEADING FROM ' oracle ') FROM dual --去掉左边空格 leading指定
SELECT TRIM(TRAILING FROM ' oracle ') FROM dual --去掉右边空格 trailing指定
SELECT TRIM('s' FROM 'sssstrssingsssss')TRAILING FROM dual --删除前后的s,只支持单个字符串
--11,floor:对给定的数字取整数
SELECT FLOOR(123.456) FROM dual
--12,round和trunc :按照指定的精度进行舍入
SELECT ROUND(55.5),ROUND(-55.5),TRUNC(55.8),TRUNC(-55.8) FROM dual
--13,sign(n):取数字n的符号,大于0返回1,小于0返回-1,等于0,返回0
SELECT SIGN(123),SIGN(-100),SIGN(0) FROM dual
--14,trunc:按照指定的精度截取一个数
SELECT TRUNC(1234.5678,3),TRUNC(1234.5678,-3) FROM dual
--15,add_months:增加或减去月份
SELECT to_char(add_months(to_date('199912','yyyymm'),2),'yyyymm') FROM dual
SELECT to_char(add_months(to_date('200001','yyyymm'),-2),'yyyymm') FROM dual
--16,last_day:返回日期的最后一天
SELECT to_char(SYSDATE,'yyyy-mm-dd'),to_char((SYSDATE)+1,'yyyy-mm-dd') FROM dual
SELECT last_day(SYSDATE) FROM dual
--17,months_between(date1,date2):给出date1-date2的月份
SELECT months_between('19-12月-2012','19-3月-2011') FROM dual