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)
功能:判断一个字符串是否含有另外的字符串,并返回所在的位置。且可以指定开始? 遍历的位置,和出现的第次,没有则返回零。n1和n2的缺省值都为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为截取的字符个数。start为0和1时是等效的,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‘);