一、数字函数
?1.ABS(X),求的x的绝对值。
?
SQL> select abs(34),abs(-34) from dual; ABS(34) ABS(-34)---------- ---------- 34 34
?
2.ACOS、ASIN、ATAN、CEIL(不小于X的最小整数)、COS、EXP(e的自然指数值)、FLOOR(不大于X的值)、LN、MOD、LOG(x,y),返回以x为底的y的对数值,POWER(x,y)返回x的y次幂。
?
SQL> select round(15.49),round(10.5),round(15.4934,2),round(0.5,2) from dual;ROUND(15.49) ROUND(10.5) ROUND(15.4934,2) ROUND(0.5,2)------------ ----------- ---------------- ------------ 15 11 15.49 .5SQL> select trunc(15.49),trunc(10.52),trunc(2.34234,2) from dual;TRUNC(15.49) TRUNC(10.52) TRUNC(2.34234,2)------------ ------------ ---------------- 15 10 2.34
?二、字符函数
?
1. SQL> select ascii('a'),ascii('abc') from dual;ASCII('A') ASCII('ABC')---------- ------------ 97 972. SQL> select chr(97) from dual;C-a3.SQL> select concat('Hello','World') from dual;CONCAT('HE----------HelloWorld4.返回每个单词,且首字母大写SQL> select initcap('hello world') from dual;INITCAP('HE-----------Hello World5.返回字符串长度SQL> select length('I Love China.') from dual;LENGTH('ILOVECHINA.')--------------------- 136.替换指定字串SQL> select replace('abcdefgh','abc','I') from dual;REPLAC------Idefgh7.截取部分子串SQL> select substr('students',1,3) e1,substr('students',-3,3) e2 from dual;E1 E2--- ---stu nts
?三、转换函数
?
1.TO_CHAR(x[,FORMAT])将想x转换为一个VARCHAR2字符串,X去数字或者日期时间类型数据,可选参数format指定x的格式 SQL> select to_char(sysdate,'yyyy-MM-DD') ,to_char(201009.25,'9.9EEEE') from dual;TO_CHAR(SY TO_CHAR(2---------- ---------2010-09-25 2.0E+05(②)SQL> select to_char(1230.3423,'9999.99999') from dual;TO_CHAR(123----------- 1230.342302.TO_DATE(x[,format])将字符串x转换为DATE类型数据。 一、在使用Oracle的to_date函数来做日期转换时,采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,在Oracle中会引起错误:“ORA 01810 格式代码出现两次”。如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual;原因是SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;二、另要以24小时的形式显示出来要用HH24select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;//mi是分钟select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;//mm会显示月份
?