阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Oracle字符串函数总结

152次阅读
没有评论

共计 5121 个字符,预计需要花费 13 分钟才能阅读完成。

1.ASCII

功能:得到给定字符的字符编码

语法:ASCII(CHAR)

例句:

SQL> SELECT ASCII(‘A’) FROM DUAL;

ASCII(‘A’)

———-

65

2.CHR

功能:得到给定数字对应的字符 ,ASCII是一对反函数

语法:CHR(CHAR)

例句:

SQL> SELECT CHR(65) FROM DUAL;

CHR(65)

——-

A

3.UPPER

功能:将小写字符变为大写

语法:UPPER(STRING)

例句:

SQL> SELECT UPPER(‘b’) FROM DUAL;

UPPER(‘B’)

———-

B

SQL> SELECT UPPER(‘we are family’) FROM DUAL;

UPPER(‘WEAREFAMILY’)

——————–

WE ARE FAMILY

4.LOWER

功能:将小写字母变为大写

语法:LOWER(STRING)

例句:

SQL> SELECT LOWER(‘D’) FROM DUAL;

LOWER(‘D’)

———-

d

SQL> SELECT LOWER(‘Long Time No See’) FROM DUAL;

LOWER(‘LONGTIMENOSEE’)

———————-

long time no see

5.LENGTH

功能:显示字符串的字符长度

语法:LENGTH(STRING)

例句:

SQL> SELECT LENGTH(‘Long Time No See’) FROM DUAL;

LENGTH(‘LONGTIMENOSEE’)

———————–

16

SQL> SELECT LENGTH(好久不见) FROM DUAL;

LENGTH(好久不见)

——————

4

6.LENGTHB

功能:显示字符串的字节长度

语法:LENGTHB(STRING)

例句:

SQL> SELECT LENGTH(‘Long Time No See’) FROM DUAL;

LENGTHB(‘LONGTIMENOSEE’)

———————–

16

SQL> SELECT LENGTH(好久不见) FROM DUAL;

LENGTHB(好久不见)

——————

8

7.TRIM

功能:去掉字符串中最左边和最右边的空格

语法:TRIM(STRING)

例句:

SQL> SELECT TRIM(‘ Long Time No See ‘) FROM DUAL;

TRIM(‘LONGTIMENOSEE’)

———————

Long Time No See

8.LTRIM

功能:去掉一个字符串中最左边开始在另一个字符串中存在的字符

语法:LTRIM(STRING1,STRING2)  –STRING2缺省时为空格

例句:

SQL> SELECT LTRIM(‘UMKU Long Time No See UM’,‘UMA’) FROM DUAL;

LTRIM(‘UMKULONGTIMENOSEEUM’,‘U

——————————

KU Long Time No See UM

SQL> SELECT LTRIM(‘ Long Time No See UM‘) FROM DUAL;

LTRIM(‘LONGTIMENOSEEUM‘)

————————

Long Time No See UM

9.RTRIM

功能:去掉一个字符串中最右边开始在另一个字符串中存在的字符

语法:RTRIM(STRING1,STRING2)  –STRING2缺省时为空格

例句:

SQL> SELECT RTRIM(‘UMKU Long Time No See UM’,‘UMA’) FROM DUAL;

RTRIM(‘UMKULONGTIMENOSEEUM’,‘U

——————————

UMKU Long Time No See

SQL> SELECT RTRIM(‘ Long Time No See ‘) FROM DUAL;

RTRIM(‘LONGTIMENOSEE‘)

———————-

Long Time No See

10.REPLACE

语法:REPLACE(STRING,S1,S2)

功能:替换字符串中的部分字符。当 S2 缺省时删掉 STRING 中的所有S1

例句:

SQL> SELECT REPLACE(‘Your sister is so smart!’,‘sister’,‘brother’) FROM DUAL;

REPLACE(‘YOURSISTERISSOSMART!’

——————————

Your brother is so smart!

SQL> SELECT REPLACE(‘Your sister is so smart!’,‘sister’) FROM DUAL;

REPLACE(‘YOURSISTERISSOSMART!’

——————————

Your is so smart!

11.INSTR

语法:INSTR(string,s,n1,n2)

功能:判断一个字符串是否含有另外的字符串,并返回所在的位置。且可以指定开始   遍历的位置,和出现的第次,没有则返回零。n1n2 的缺省值都为1

例句:

SQL> select instr(‘abcdefdeghde’,‘de’,5,2) position from dual;

POSITION

———-

11

 

SQL> select instr(‘abcdefdeghde’,‘de’,5) position from dual;

POSITION

———-

7

SQL> select instr(‘abcdefdeghde’,‘de’) position from dual;

 

POSITION

———-

4

 

SQL> select instr(‘abcdefdeghde’,‘fe’,5,2) position from dual;

POSITION

———-

0

12.INSTRB

语法:INSTRB(string,s,n1,n2)

功能:INSTR 相同 , 只是操作的对参数字符使用的位置的是字节.

例句:

  ……​

13.SUBSTR

语法:SUBSTR(string,start,count)

功能:截取字符串的某一段实符,start为开始截取的位置,count为截取的字符个数。start01时是等效的,start为负时表示应该从右往左数,count缺省时返回字符表达式的值结束前的全部字符。 

例句:

SQL> select SUBSTR(‘welcome’ ,1,3) from dual;

SUBSTR(‘WELCOME’,1,3)

———————

wel

SQL> select SUBSTR(‘welcome’ ,0,3) from dual;

SUBSTR(‘WELCOME’,0,3)

———————

wel

SQL> select SUBSTR(‘welcome’ ,-4,3) from dual;

SUBSTR(‘WELCOME’,-4,3)

———————-

com

SQL> select SUBSTR(‘welcome’ ,-4) from dual;

SUBSTR(‘WELCOME’,-4)

——————–

come

0

14.NVL

语法:NVL(String, VALUE)

功能:如果 String 是空值,返回VALUE,否则返回String

例句:

SQL> SELECT NVL(NULL, ‘2’) FROM DUAL;

NVL(NULL,‘2’)

————-

2

SQL> SELECT NVL(‘lk’, ‘2’) FROM DUAL;

 

NVL(‘LK’,‘2’)

————-

lk

15.NVL2

语法:NVL2(String, VALUE1, VALUE2)

功能:如果 String 不是空值,返回 VALUE1  否则返回VALUE2

例句:

SQL> SELECT NVL2(‘lk’, ‘2’,‘8’) FROM DUAL;

NVL2(‘LK’,‘2’,‘8’)

——————

2

SQL> SELECT NVL2(NULL, ‘2’,‘8’) FROM DUAL;

NVL2(NULL,‘2’,‘8’)

——————

8

16.NANVI

语法:NANVI(String, VALUE)

功能:如果 String 不是数字,那么返回VALUE,否则返回String

例句:

SQL> SELECT NANVI(‘3DF’, ’34’) FROM DUAL; –Oracle 11g才有

NANVI(‘3DF’, ’34’)

——————

34

17.CONCAT

语法:CONCAT(String1,String2)

功能:连接两个字符串

例句:

SQL> SELECT CONCAT(‘come’,‘back’) FROM DUAL;

CONCAT(‘COME’,‘BACK’)

———————

comeback

18.INITCAP

语法:INITCAP(String)

功能:将字符串中每个单词首字母大写

例句:

SQL> SELECT INITCAP(‘Long Time no see’) FROM DUAL;

INITCAP(‘LONGTIMENOSEE’)

————————

Long Time No See

​19.RPAD

语法:RPAD(String,,n,s)

功能:在字符串中右端填充字符达到指定长度

例句:

SQL> SELECT RPAD(‘dfasfda’,12,‘ghg’) FROM DUAL;

RPAD(‘DFASFDA’,12,‘GHG’)

————————

dfasfdaghggh

20.LPAD

语法:RPAD(String,,n,s)

功能:在字符串中左端填充字符达到指定长度

例句:

SQL> SELECT LPAD(‘dfasfda’,12,‘ghg’) FROM DUAL;

LPAD(‘DFASFDA’,12,‘GHG’)

————————

ghgghdfasfda

21.SOUNDEX

语法:SOUNDEX(String)

功能:得到字符串的声音表示形式。

例句:

SQL> SELECT SOUNDEX(‘break’) FROM DUAL;

SOUNDEX(‘BREAK’)

—————-

B620

SQL> SELECT SOUNDEX(‘brake’) FROM DUAL;

SOUNDEX(‘BRAKE’)

—————-

B620

22.TRANSLATE

语法:TRANSLATE(String,s1,s2)

功能:回将所出现的 s1 中的每个字符替换为 s2 中的相应字符以后的string

例句:

SQL> SELECT TRANSLATE(‘Your sister is so smart!’,‘sister’,‘brother’) FROM DUAL;

TRANSLATE(‘YOURSISTERISSOSMART

——————————

Youe brbthe rb bo bmaet!

23.NLSSORT

语法:NLSSORT(String,param)

功能:进行语言排序,且不影响当前会话.

例句:

SQL> SELECT NLSSORT(‘frank’, ‘NLS_SORT=BINARY_CI’) FROM DUAL;

NLSSORT(‘FRANK’,‘NLS_SORT=BINA

——————————

6672616E6B00

SQL> SELECT NLSSORT(‘fRank‘, ‘NLS_SORT=BINARY_CI‘) FROM DUAL;

 

NLSSORT(‘FRANK‘,’NLS_SORT=BINA

——————————

6672616E6B00

SELECT * FROM TEAM ORDER BY NLSSORT(排序字段,‘NLS_SORT = SCHINESE_PINYIN_M’);

更多 Oracle 相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-06/132463.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计5121字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中