Oracle学习笔记(三)之SQL函数

一、数字函数

 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会显示月份

 

你可能感兴趣的:(oracle,sql)