一、数字函数
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 .5 SQL> 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 97 2. SQL> select chr(97) from dual; C - a 3. SQL> select concat('Hello','World') from dual; CONCAT('HE ---------- HelloWorld 4.返回每个单词,且首字母大写 SQL> select initcap('hello world') from dual; INITCAP('HE ----------- Hello World 5.返回字符串长度 SQL> select length('I Love China.') from dual; LENGTH('ILOVECHINA.') --------------------- 13 6.替换指定字串 SQL> select replace('abcdefgh','abc','I') from dual; REPLAC ------ Idefgh 7.截取部分子串 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.34230 2.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小时的形式显示出来要用HH24 select 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会显示月份