Oracle函式大全之字元型函式

來源:酷知科普網 2.77W

Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關係資料庫管理系統。到目前仍在資料庫市場上佔有主要份額。勞倫斯·埃裡森和他的朋友,之前的同事Bob Miner和Ed Oates在1977年建立了軟體開發實驗室諮詢公司(SDL,Software Development Laboratories)。

操作方法

(01)ASCII(x1)【功能】:返回字元表示式最左端字元的ASCII 碼值。【引數】:x1,字元表示式【返回】:數值型【示例】 select ascii('A') A,ascii('a') a,ascii(' ') space,ascii('示') hz from dual;【說明】在ASCII()函式中,純數字的字串可不用‘’括起來,但含其它字元的字串必須用‘’括起來使用,否則會出錯。  如果最左端是漢字,只取漢字最左半邊字元的ASCII 碼【互反函式】:chr()

Oracle函式大全之字元型函式

(02)CHR(n1)【功能】:將ASCII 碼轉換為字元。【引數】:n1,為0 ~ 255,整數【返回】:字元型【示例】 select chr(54740) zhao,chr(65) chr65 from dual;【互反函式】:ASCII

Oracle函式大全之字元型函式 第2張

(03)CONCAT(c1,c2)【功能】連線兩個字串【引數】c1,c2 字元型表示式【返回】字元型同:c1||c2【示例】 select concat('010-','88888888')||'轉23' 高乾競電話 from dual;

Oracle函式大全之字元型函式 第3張

(04)INITCAP(c1)【功能】返回字串並將字串的第一個字母變為大寫,其它字母小寫;【引數】c1字元型表示式【返回】字元型【示例】 select initcap('smith abc aBC') upp from dual;

Oracle函式大全之字元型函式 第4張

(05)LOWER(c1)【功能】:將字串全部轉為小寫【引數】:c1,字元表示式【返回】:字元型【示例】 select lower('AaBbCcDd')AaBbCcDd from dual;【同類】UPPER()將字串全部轉為大寫。

Oracle函式大全之字元型函式 第5張

(06)UPPER(c1)【功能】將字串全部轉為大寫【引數】c1,字元表示式【返回】字元型【示例】 select upper('AaBbCcDd') upper from dual;【同類】LOWER()將字串全部轉為小寫

Oracle函式大全之字元型函式 第6張

(07)NLS_INITCAP(x[,y])【功能】返回字串並將字串的第一個字母變為大寫,其它字母小寫;【引數】x字元型表示式【引數】Nls_param可選,查詢資料級的NLS設定:select * from nls_database_parameters;例如:指定排序的方式(nls_sort=) 。nls_sort=SCHINESE_RADICAL_M(部首、筆畫)nls_sort=SCHINESE_STROKE_M(筆畫、部首SCHINESE_PINYIN_M(拼音))【返回】字元型【示例】 select nls_initcap('ab cde') "test",nls_initcap('a c b d e','nls_sort= SCHINESE_PINYIN_M') "test1" from dual;返回:Ab Cde, A C B D Eselect nls_initcap('ab cde') "test",nls_initcap('a c b d e','NLS_LANGUAGE=AMERICAN') "test1" from dual;

Oracle函式大全之字元型函式 第7張
Oracle函式大全之字元型函式 第8張

(08)NLS_LOWER(x[,y])【功能】返回字串並將字串的變為小寫;【引數】x字元型表示式【引數】Nls_param可選,指定排序的方式(nls_sort=) 。SCHINESE_RADICAL_M(部首、筆畫)SCHINESE_STROKE_M(筆畫、部首SCHINESE_PINYIN_M(拼音))【返回】字元型【示例】 select nls_LOWER('ab cde') "test",nls_LOWER('a c b d e','nls_sort= SCHINESE_PINYIN_M') "test1" from dual;返回:ab cde,a c b d e

Oracle函式大全之字元型函式 第9張

(09)NLS_UPPER(x[,y])【功能】返回字串並將字串的轉換為大寫;【引數】x字元型表示式【引數】Nls_param可選,指定排序的方式(nls_sort=) 。SCHINESE_RADICAL_M(部首、筆畫)SCHINESE_STROKE_M(筆畫、部首SCHINESE_PINYIN_M(拼音))【返回】字元型【示例】 select NLS_UPPER('ab cde') "test",NLS_UPPER('a c b d e','nls_sort= SCHINESE_PINYIN_M') "test1" from dual;返回:AB CDE,A C B D E

Oracle函式大全之字元型函式 第10張

(10)INSTR(C1,C2[,I[,J]])【功能】在一個字串中搜索指定的字元,返回發現指定的字元的位置;【說明】多位元組符(漢字、全形符等),按1個字元計算【引數】C1    被搜尋的字串C2    希望搜尋的字串I     搜尋的開始位置,預設為1J     第J次出現的位置,預設為1【返回】數值【示例】select instr('oracle traning','ra',1,2) instring from dual;返回:9【示例】select instr('重慶某軟體公司','某',1,1),instrb('重慶某軟體公司','某',1,1) instring from dual;返回:3,5

Oracle函式大全之字元型函式 第11張
Oracle函式大全之字元型函式 第12張

(11)INSTRB(C1,C2[,I[,J]])【功能】在一個字串中搜索指定的字元,返回發現指定的字元的位置;【說明】多位元組符(漢字、全形符等),按2個字元計算【引數】C1    被搜尋的字串C2    希望搜尋的字串I     搜尋的開始位置,預設為1J     第J次出現的位置,預設為1【返回】數值【示例】select instr('重慶某軟體公司','某',1,1),instrb('重慶某軟體公司','某',1,1) instring from dual;返回:3,5

Oracle函式大全之字元型函式 第13張

(12)LENGTH(c1)【功能】返回字串的長度;【說明】多位元組符(漢字、全形符等),按1個字元計算【引數】C1 字串【返回】數值型【示例】select length('高乾競'),length('北京市海錠區'),length('北京TO_CHAR') from dual;

Oracle函式大全之字元型函式 第14張

(13)LENGTH(c1)【功能】返回字串的長度;【說明】多位元組符(漢字、全形符等),按2個字元計算【引數】C1 字串【返回】數值型【示例】select length('高乾競'),lengthB('高乾競') from dual;

Oracle函式大全之字元型函式 第15張

(14)LENGTHC(c1)TH2(c1)TH4(c1)【功能】返回字串的長度;【說明】多位元組符(漢字、全形符等),按1個字元計算【引數】C1 字串【返回】數值型【示例】 select length('高乾競'),length('北京市海錠區'),length('北京TO_CHAR') from dual;Oracle中的字元函式中,有一類函式是求字元長度的函式,length、lengthB、lengthC、length2、length4幾個函式中比較常用的是length、lengthB。他們的含義分別是:Length函式返回字元的個數,使用定義是給定的字符集來計算字元的個數LENGTHB給出該字串的byteLENGTHC使用純UnicodeLENGTH2使用UCS2LENGTH4使用UCS4

Oracle函式大全之字元型函式 第16張

(15)LPAD(c1,n[,c2])【功能】在字串c1的左邊用字串c2填充,直到長度為n時為止【引數】C1 字串n 追加後字元總長度c2 追加字串,預設為空格【返回】字元型【說明】如果c1長度大於n,則返回c1左邊n個字元如果如果c1長度小於n,c2和c1連線後大於n,則返回連線後的右邊n個字元【示例】select lpad('gao',10,'*') from dual;不夠字元則用*來填滿【相似】RPAD()在列的右邊貼上字元【相反】LTRIM() 刪除左邊出現的字串

Oracle函式大全之字元型函式 第17張

(16)RPAD(c1,n[,c2])【功能】在字串c1的右邊用字串c2填充,直到長度為n時為止【引數】C1 字串n 追加後字元總長度c2 追加字串,預設為空格【返回】字元型【說明】如果c1長度大於n,則返回c1左邊n個字元如果如果c1長度小於n,c1和c2連線後大於n,則返回連線後的左邊n個字元如果如果c1長度小於n,c1和c2連線後小於n,則返回c1與多個重複c2連線(總長度>=n)後的左邊n個字元【示例】 select rpad('gao',10,'*a') from dual;rpad('gao',10,'*a') ;【相似】LPAD()在列的左邊貼上字元【相反】RTRIM() 刪除右邊出現的字串

Oracle函式大全之字元型函式 第18張

(17)LTRIM(c1,[,c2])【功能】刪除左邊出現的字串【引數】C1 字串c2 追加字串,預設為空格【返回】字元型【示例】 select LTRIM('   gao qian jing',' ') text from dual;或:select LTRIM('   gao qian jing') text from dual;【相似】RTRIM()刪除右邊出現的字串【相反】LPAD() 在列的左邊貼上字元

Oracle函式大全之字元型函式 第19張

(18)RTRIM(c1,[,c2])【功能】刪除右邊出現的字串【引數】C1 字串c2 追加字串,預設為空格【返回】字元型【示例】 select RTRIM('gao qian jingXXXX','X') text from dual;【相似】LTRIM()刪除左邊出現的字串【相反】RPAD() 在列的右邊貼上字元

Oracle函式大全之字元型函式 第20張

(19)REPLACE(c1,c2[,c3])【功能】將字元表示式值中,部分相同字串,替換成新的字串【引數】c1   希望被替換的字元或變數 c2   被替換的字串c3   要替換的字串,預設為空(即刪除之意,不是空格)【返回】字元型【示例】select replace('he love you','he','i') test from dual;

Oracle函式大全之字元型函式 第21張

(20)SOUNDEX(c1)【功能】返回字串引數的語音表示形式【引數】c1,字元型【返回】字串【說明】相對於比較一些讀音相同,但是拼寫不同的單詞是非常有用的。計算語音的演算法:1.保留字串首字母,但刪除a、e、h、i、o、w、y2.將下表中的數字賦給相對應的字母(1) 1:b、f、p、v(2) 2:c、g、k、q、s、x、z(3) 3:d、t(4) 4:l(5) 5:m、n(6) 6:r3. 如果字串中存在擁有相同數字的2個以上(包含2個)的字母在一起(例如b和f),或者只有h或w,則刪除其他的,只保留1個4.只返回前4個位元組,不夠用0填充示例:soundex('two'),soundex('too'),soundex('to'),他們的結果都是T000   soundex('cap'),soundex('cup'),他們的結果都是C100   soundex('house'),soundex('horse'),他們的結果都分別是H200,H620

(21)SUBSTR(c1,n1[,n2])【功能】取子字串【說明】多位元組符(漢字、全形符等),按1個字元計算【引數】在字元表示式c1裡,從n1開始取n2個字元;若不指定n2,則從第y個字元直到結束的字串.【返回】字元型【示例】 select substr('13088888888',3,8) test from dual;

Oracle函式大全之字元型函式 第22張

(22)SUBSTRB(c1,n1[,n2])【功能】取子字串【說明】多位元組符(漢字、全形符等),按2個字元計算【引數】在字元表示式c1裡,從n1開始取n2個字元;若不指定n2,則從第y個字元直到結束的字串.【返回】字元型,如果從多字元右邊開始,則用空格表示。【示例】select substr('我手機13012345678',4,11),substrb('我手機13012345678',4,11),substrb('我手機13012345678',3,11) test from dual;返回:13012345678, 機13012345,手機1301234

Oracle函式大全之字元型函式 第23張

(23)TRANSLATE(c1,c2,c3)【功能】將字元表示式值中,指定字元替換為新字元【說明】多位元組符(漢字、全形符等),按1個字元計算【引數】c1   希望被替換的字元或變數 c2   查詢原始的字符集c3   替換新的字符集,將c2對應順序字元,替換為c3對應順序字元如果c3長度大於c2,則c3長出後面的字元無效如果c3長度小於c2,則c2長出後面的字元均替換為空(刪除)如果c3長度為0,則返回空字串。如果c2裡字元重複,按首次位置為替換依據【返回】字元型【示例】select TRANSLATE('he love you','he','i'),TRANSLATE('重慶的人','重慶的','上海男'),TRANSLATE('重慶的人','重慶的重慶','北京男士們'),TRANSLATE('重慶的人','重慶的重慶','1北京男士們'),TRANSLATE('重慶的人','1重慶的重慶','北京男士們') from dual;返回:i love you,上海男人,北京男人,1北京人,京男士人

Oracle函式大全之字元型函式 第24張

(24)TRIM(c1 from c2)【功能】刪除左邊和右邊出現的字串【引數】C2 刪除前字串c1 刪除字串,預設為空格【返回】字元型【示例】 select TRIM('X' from 'XXXgao qian jingXXXX'),TRIM('X' from 'XXXgaoXXjingXXXX') text from dual;返回:gao qian jinggaoXXjing【相似】LTRIM()刪除左邊出現的字串  RTRIM()刪除右邊出現的字串

Oracle函式大全之字元型函式 第25張
熱門標籤