单列函数
--字符函数 --1.ASCII 返回与指定的字符对应的十进制数; select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; --2.CHR 给出整数,返回对应的字符; select chr(54740) zhao,chr(65) chr65 from dual; --3.CONCAT 连接两个字符串; select concat('010-','88888888')||'转23' 高乾竞电话 from dual; --4.INITCAP 返回字符串并将字符串的第一个字母变为大写; select initcap('smith') upp from dual; --5.INSTR(C1,C2,I,J) 在一个字符串中搜索指定的字符,返回发现指定的字符的位置; select instr('oracle traning','ra',-1,2) instring from dual; --6.LOWER 返回字符串,并将所有的字符小写 select lower('AaBbCcDd')AaBbCcDd from dual; --7.UPPER 返回字符串,并将所有的字符大写 select upper('AaBbCcDd') upper from dual; --8.RPAD和LPAD(粘贴字符) --RPAD 在列的右边粘贴字符 --LPAD 在列的左边粘贴字符 select lpad(rpad('gao',10,'*'),17,'-')from dual; --9.LTRIM和RTRIM --LTRIM 删除左边出现的字符串 --RTRIM 删除右边出现的字符串 select ltrim(rtrim(' gao qian jing ',' '),' ') from dual; --10.SUBSTR(string,start,count) --取子字符串,从start开始,取count个 select substr('13088888888',3,8) from dual; --11.REPLACE('string','s1','s2') --string 希望被替换的字符或变量 --s1 被替换的字符串 --s2 要替换的字符串 select replace('HE LOVE YOU','HE','I') from dual; --12.ABS --返回指定值的绝对值 select abs(100),abs(-100) from dual; --13.ACOS 给出反余弦的值 select acos(-1) from dual; --14.ASIN 给出反正弦的值 select asin(0.5) from dual; --15.ATAN 返回一个数字的反正切值 select atan(1) from dual; --16.CEIL 返回大于或等于给出数字的最小整数 select ceil(3.1415927) from dual; --17.COS 返回一个给定数字的余弦 select cos(-3.1415927) from dual; --18.COSH 返回一个数字反余弦值 select cosh(20) from dual; --19.EXP 返回一个数字e的n次方根 select exp(2),exp(1) from dual; --20.FLOOR 对给定的数字取整数 select floor(2345.67) from dual; --21.LN 返回一个数字的对数值 select ln(1),ln(2),ln(2.7182818) from dual; --22.LOG(n1,n2) 返回一个以n1为底n2的对数 select log(2,1),log(2,4) from dual; --23.MOD(n1,n2) 返回一个n1除以n2的余数 select mod(10,3),mod(3,3),mod(2,3) from dual; --24.POWER 返回n1的n2次方根 select power(2,10),power(3,3) from dual; --25.ROUND和TRUNC 按照指定的精度进行舍入 select round(55.5),round(-55.4),trunc(55.5),trunc(-55.5) from dual; --26.SIGN 取数字n的符号,大于0返回1,小于0返回-1,等于0返回0 select sign(123),sign(-100),sign(0) from dual; --27.trim select trim('a' from 'ahappyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa') from dual; --lengthb select lengthb('好人') from dual; --length select length('好人') from dual; --日期函数 --月 select floor("MONTHS_BETWEEN"(SYSDATE, "TO_DATE"('1997-05-18', 'yyyy-MM-dd'))) from dual; --天 SELECT floor(SYSDATE-"TO_DATE"('1997-05-18', 'yyyy-MM-dd')) from dual; select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; --数字函数 --四舍五入 round SELECT round(12.45,1)from dual; --通用函数 --nvl和nvl2滤空函数 select sal*12 工资,comm 奖金,sal*12+nvl(comm,0) from emp; select sal, sal+NVL2(COMm,comm*2,0) from emp; --decode select ename,decode(deptno,10,'开发部',20,'测试部',30,'财务部','保洁部') from EMP