ORACLE 常用系统函数

时间:2023-03-08 20:00:07
ORACLE 常用系统函数

1.  字符类

1.1  ASCII(c ) 函数  和CHR( i )

     ASCII 返回一个字符的ASCii码,其中c表示一个字符;CHR 返回ascii码值i 所对应的字符 。

如:

SELECT     ascii('a'),        ascii('A'),   CHR(65), CHR(97), CHR(98)  FROM DUAL;

运行结果为: 97,               65   ,       A,         a,        b

1.2  concat(s1, s2)函数

将字符串s2连接到s1的后面,返回连接后的字符串。(如果其中一个或两个为null, 规则依然进行)。

如:

select  concat('I love', ' you'),   concat(null,'you'),  concat('I love',null), concat(null , null) from dual;

结果:I love you,                      you,                   , I love                  ,     (空白)

1.3  INITCAP(S) 函数

该函数将S中每个单词首字母大写,其余消息返回,单词之间用空格,控制字符,标点来区分。

如:

SELECT  INITCAP('WHAT YOU,WANT IS     TOO Much, we cannot meet you,requiment') from dual;

结果: What You,Want Is     Too Much, We Cannot Meet You,Requiment

1.4.  INSTR( S1,  S2  [,index] [,times])   函数

返回字符串S2 在 S1中, 从index位置开始搜索,第times次出现的位置, 如果未找到,则返回0.    如果index < 0 表示搜索从右到左边开始搜索。

如:

2           12            22    27         36               50
    select  INSTR('good afternoon,dear pool,too much food, if you choose them',   'oo',      index ,    times)       from    dual;

如果: index=1, time=1,   返回: 2

如果: index=1, time=2,   返回: 12
   如果: index=1, time=3,   返回: 22

如果: index=1, time=4, 5, 6, 7,   返回: 27, 36,  50,    0

如果:  index=3, times=1, 返回:12

如果 index=3, times=2, 返回:22

如果index=-1, times=1, 返回:50

如果index=-1, times=2, 返回:36

如果index=-30, times=1, 返回:27

如果index=-30, times=2, 返回:22

1.5 length(S) 函数

返回字符串的长度,如果s为null 或者'', 则返回null.

1.6  LOWER(S)  和 UPPER(S) 函数

返回字符串的小写和大写形式。


1.7   LTRIM(S1, S2)函数 ,   RTRIM(S1, S2) 函数,   TRIM(S1, S2)函数

这是三个函数分别用来删除 S1字符串左边,右边, 左右两边的字符串S2, 如果不指定S2, 则表示去除空格.

1.8  REPLACE(S1, S2 [, S3])函数

将S1中的子字符串S2替换为S3.

如: select  REPLACE('i LOVE YOU, NOT BECAUSE WHO YOU ARE, BUT WHEN I aside you who am I', 'who', 'Flying')  from dual;

结果:i LOVE YOU, NOT BECAUSE WHO YOU ARE, BUT WHEN I aside you Flying am I.

1.9  SUBSTR(S, index [,length])  函数

该函数从S字符串中,第index位置截取长度为length的字符串, 如果length不指定,则截取到末尾.