ORACLE SQL单行函数(一)【weber出品必属精品】

1.SUBSTR:求父串中的子串

SUBSTR(‘HelloWorld‘,1,5)

1:代表子串的起始位置,如果为正,正数,如果为负,倒数

5:代表字串的终止位置,只能向右数,可以省略,如果省略就是数到最后

SUBSTR:求父串中的子串
 
SUBSTR(‘HelloWorld‘,1,5)
 
1:代表子串的起始位置,如果为正,正数,如果为负,倒数
5:代表字串的终止位置,只能向右数,可以省略,如果省略就是数到最后

2.LENGTH:求字符串的长度  

SQL> select LENGTH(‘HELLOWORLD‘) from dual;
 
LENGTH(‘HELLOWORLD‘)
--------------------
          10

3.INSTR:求子串在父串中的位置 

SQL> select INSTR(HelloWorld,W) from dual;
 
INSTR(HELLOWORLD,W)
-----------------------
              6

4. LPAD和RPAD:格式化输出

SQL> select LPAD(sal,10,*),rpad(sal,10,*) from emp;
 
LPAD(SAL,10,*)                         RPAD(SAL,10,*)
---------------------------------------- ----------------------------------------
*******800                               800*******
******1600                               1600******
******1250                               1250******
******2975                               2975******
******1250                               1250******

5. REPLACE:把父串中的子串用另一个子串替换

SQL> select REPLACE(JACK and JUE,J,BL) replace from dual;
 
REPLACE
--------------
BLACK and BLUE

6. TRIM:从父串中截断前置和后置连续的某个字符串:

SQL> select TRIM(H from HHHHelloWorldHHH) from dual;
 
TRIM(HF
---------
elloWorld

7.两个表示字符的数据类型:

varchar2(n):可变长度的,根据插入数据的长度,来分配长度

char(n):固定长度的,即使插入的数据小于n,那么oracle也会分配长度为n,不够n用空格补齐

SQL> create table t1(id number,name varchar2(10));
 
Table created.
 
SQL> create table t2(id number,name char(10));
 
Table created.
 
SQL> insert into t1 values(1,a);
 
1 row created.
 
SQL> insert into t1 values(2,b);
 
1 row created.
 
SQL> commit;
 
Commit complete.
 
SQL> insert into t2 values(1,a);
 
1 row created.
 
SQL> insert into t2 values(2,b);
 
1 row created.
 
SQL> insert into t2 values(3,c);
 
1 row created.
 
SQL> commit;
 
Commit complete.
 
SQL> select * from t1;
 
        ID NAME
---------- ----------
         1 a
         2 b
 
SQL> select * from t2;
 
        ID NAME
---------- ----------
         1 a
         2 b
         3 c
 
SQL> select t1.id,t2.name from t1,t2 where t1.name=t2.name;
 
no rows selected
 
SQL> select t1.id,t2.name from t1,t2 where t1.name=trim(t2.name);---这里演示了trim()的应用场景
 
        ID NAME
---------- ----------
         1 a
         2 b

8.数字函数

ROUND:对指定的值进行四舍五入

TRUNC:对指定的值进行截断

select trunc(45.926,2),round(45.926,2) from dual;
 
TRUNC(45.926,2) ROUND(45.926,2)
--------------- ---------------
          45.92           45.93

9.MOD:返回除法计算后的余数

SQL> select mod(1600,300) from dual;
 
MOD(1600,300)
-------------
      100
 
SQL> select mod(300,1600) from dual;
 
MOD(300,1600)
-------------
      300

10.日期函数

Oracle 以一种内部的格式来保存日期: 世纪,年,月,日,小时,分钟,秒

缺省的格式:DD-MON-RR

通过只指定年份的后两位,可以在20世纪存储21世纪的日期,以同样的方法,可以在21世纪存储20世纪的日期

SYSDATE 是一个返回日期和时间的函数,他的值来源于操作系统

SQL> select sysdate from dual;
 
SYSDATE
---------
15-AUG-14

 

ORACLE SQL单行函数(一)【weber出品必属精品】,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。