ORACLE 實用函式總結
今天把自己最常用的一些ORACLE函式簡要做一下總結:
1、NULLIF(expr1,expr2)
邏輯等價於:CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END;
如果兩個表示式相等,NULLIF 返回NULL;
如果兩個表示式不相等,NULLIF 返回第一個 expr1 的值。
2、NVL(expr1,expr2)
邏輯等價於IF expr1 is null THEN expr2 ELSE expr1 END;
如果expr1為NULL,那麼返回expr2的值;
如果expr1不為NULL,則返回expr1的值。
3、NVL2(expr1,expr2,expr3)
如果expr1不為NULL,則返回expr2的值;
如果expr1為null,則返回expr3的值。
4、COALESCE(expr1,expr2,expr3...exprn)
從左往右數,遇到第一個不為null的值,則返回該值。
5、DECODE(value,if1,then1,if2,then2,if3,then3, . . . else)
Value 代表某個表列或計算結果。
如果value的值為if1,Decode函式的結果是then1;
如果value的值為if2,Decode函式結果是then2;
如果value的值不等於給出的任何配對時,結果就返回else。
6、LPAD(string,length, [pad_string])
從左邊對字串string使用指定的字元pad_string進行填充,length是該函式返回的字串長度。
如果字串string大於length,則從右到左擷取指定長度返回。
7、RPAD(string,length, [pad_string])
從右邊對字串string使用指定的字元pad_string進行填充。
8、REPLACE(string,search_string[,replacement_string])
將string中的search_string替換為replacement_string,如果replacement_string為空,則刪除所有search_string。
9、TRANSLATE(string,from_string,to_string)
將string中存在的每個from_string中的字元被to_string中相應的字元所代替。
Replace是替換,而translate則是過濾。
例:select nvl2(translate('abc123','#1234567890.','#'),'字串','數字') from dual。
10、SUBSTR(string,start_position,[length])
在string裡,從start_position開始取length個字元。
11、SUBSTRB(string,start_position,[length])
含義同上,但多位元組符(漢字、全形符等),按2個字元計算的。
12、INSTR(string, substring[, position, occurrence])
從string中返回substring的位置,沒有找到返回0。
13、LTRIM(string1[,string2])
去除出現在string1左面的空格。如果使用string2,會將string2劃分為單字元然後進行遍歷,從左面進行查詢去除直到遇到不在string2中的字元。
例:select ltrim('10900111000991110224323','109') from dual;
結果返回224323。
select ltrim('109200111000991110224323','109') from dual;
結果返回200111000991110224323。
string2分為'1','0','9'在string1中進行遍歷,查詢去除直到遇到'2'才停止。
14、RTRIM(string1[,string2])
去除出現在string1右面的空格。如果使用string2,會將string2劃分為單字元然後進行遍歷,從右面進行查詢去除直到遇到不在string2中的字元。
15、TRIM([[LEADING||TRAILING||BOTH] string2 FROM] string1)
去掉string1內包含的空格或者指定字元。string2必須是單個字元。
16、GREATEST(expr1,expr2, ... expr_n)
返回序列中的最大值,數字按大小排,字元按首字元比較。
17、LEAST(expr1,expr2, ... expr_n)
返回序列中的最小值。
18、LENGTHB(string)
返回以位元組為單位的長度。多位元組符(漢字、全形符等),因為字符集的不同,LENGTHB得到的值可能會不一樣。如ZHS16GBK採用兩個byte位來定義一個漢字。而在UTF8,採用3個byte。可以使用Length()!=Lengthb()判斷是否有中文內容。
19、CAST(expr AS type_name)
強制轉換成指定的資料型別。
20、WM_CONCAT(column)
合併行記錄,實現行轉列。
21、INITCAP(string)
將字串string中單詞(注意是單詞)的第一個字母轉換為大寫,其它則轉換為小寫。
22、TO_CHAR([num]|[date[timestamp],date_type])
將數字、時間等型別轉換為字元型別。
23、TO_SINGLE_BYTE(string)
將指定字元轉換為半形並返回char型別。
24、ROUND(num1[,num2])
返回四捨五入小數點右邊num2位後num1的值,num2預設值為0,如果num2為負數就舍入到小數點左邊相應的位上。
25、TRUNC(num1[,num2])
返回截尾到num2位小數的num1的值,當n2為預設設定時會將num1截尾為整數,如果n2為負值,就截尾在小數點左邊相應的位上。
26、CEIL(num)
返回大於或等於給出數字的最小整數。
27、MOD(num1,num2)
返回num1除num2的餘數,如果num2=0則返回num1的值。
1、NULLIF(expr1,expr2)
邏輯等價於:CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END;
如果兩個表示式相等,NULLIF 返回NULL;
如果兩個表示式不相等,NULLIF 返回第一個 expr1 的值。
2、NVL(expr1,expr2)
邏輯等價於IF expr1 is null THEN expr2 ELSE expr1 END;
如果expr1為NULL,那麼返回expr2的值;
如果expr1不為NULL,則返回expr1的值。
3、NVL2(expr1,expr2,expr3)
如果expr1不為NULL,則返回expr2的值;
如果expr1為null,則返回expr3的值。
4、COALESCE(expr1,expr2,expr3...exprn)
從左往右數,遇到第一個不為null的值,則返回該值。
5、DECODE(value,if1,then1,if2,then2,if3,then3, . . . else)
Value 代表某個表列或計算結果。
如果value的值為if1,Decode函式的結果是then1;
如果value的值為if2,Decode函式結果是then2;
如果value的值不等於給出的任何配對時,結果就返回else。
6、LPAD(string,length, [pad_string])
從左邊對字串string使用指定的字元pad_string進行填充,length是該函式返回的字串長度。
如果字串string大於length,則從右到左擷取指定長度返回。
7、RPAD(string,length, [pad_string])
從右邊對字串string使用指定的字元pad_string進行填充。
8、REPLACE(string,search_string[,replacement_string])
將string中的search_string替換為replacement_string,如果replacement_string為空,則刪除所有search_string。
9、TRANSLATE(string,from_string,to_string)
將string中存在的每個from_string中的字元被to_string中相應的字元所代替。
Replace是替換,而translate則是過濾。
例:select nvl2(translate('abc123','#1234567890.','#'),'字串','數字') from dual。
10、SUBSTR(string,start_position,[length])
在string裡,從start_position開始取length個字元。
11、SUBSTRB(string,start_position,[length])
含義同上,但多位元組符(漢字、全形符等),按2個字元計算的。
12、INSTR(string, substring[, position, occurrence])
從string中返回substring的位置,沒有找到返回0。
13、LTRIM(string1[,string2])
去除出現在string1左面的空格。如果使用string2,會將string2劃分為單字元然後進行遍歷,從左面進行查詢去除直到遇到不在string2中的字元。
例:select ltrim('10900111000991110224323','109') from dual;
結果返回224323。
select ltrim('109200111000991110224323','109') from dual;
結果返回200111000991110224323。
string2分為'1','0','9'在string1中進行遍歷,查詢去除直到遇到'2'才停止。
14、RTRIM(string1[,string2])
去除出現在string1右面的空格。如果使用string2,會將string2劃分為單字元然後進行遍歷,從右面進行查詢去除直到遇到不在string2中的字元。
15、TRIM([[LEADING||TRAILING||BOTH] string2 FROM] string1)
去掉string1內包含的空格或者指定字元。string2必須是單個字元。
16、GREATEST(expr1,expr2, ... expr_n)
返回序列中的最大值,數字按大小排,字元按首字元比較。
17、LEAST(expr1,expr2, ... expr_n)
返回序列中的最小值。
18、LENGTHB(string)
返回以位元組為單位的長度。多位元組符(漢字、全形符等),因為字符集的不同,LENGTHB得到的值可能會不一樣。如ZHS16GBK採用兩個byte位來定義一個漢字。而在UTF8,採用3個byte。可以使用Length()!=Lengthb()判斷是否有中文內容。
19、CAST(expr AS type_name)
強制轉換成指定的資料型別。
20、WM_CONCAT(column)
合併行記錄,實現行轉列。
21、INITCAP(string)
將字串string中單詞(注意是單詞)的第一個字母轉換為大寫,其它則轉換為小寫。
22、TO_CHAR([num]|[date[timestamp],date_type])
將數字、時間等型別轉換為字元型別。
23、TO_SINGLE_BYTE(string)
將指定字元轉換為半形並返回char型別。
24、ROUND(num1[,num2])
返回四捨五入小數點右邊num2位後num1的值,num2預設值為0,如果num2為負數就舍入到小數點左邊相應的位上。
25、TRUNC(num1[,num2])
返回截尾到num2位小數的num1的值,當n2為預設設定時會將num1截尾為整數,如果n2為負值,就截尾在小數點左邊相應的位上。
26、CEIL(num)
返回大於或等於給出數字的最小整數。
27、MOD(num1,num2)
返回num1除num2的餘數,如果num2=0則返回num1的值。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29734436/viewspace-1406851/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 函式總結Oracle函式
- 超實用PHP函式總結整理PHP函式
- Oracle常用函式總結Oracle函式
- Oracle分析函式使用總結Oracle函式
- sql(oracle)資料處理實用總結開窗函式(over partition)使用SQLOracle函式
- oracle 與 mysql 中的函式總結OracleMySql函式
- Oracle 中 Over() 函式學習總結Oracle函式
- ORACLE常用結構和函式使用方法總結Oracle函式
- 【實驗】【總結】基礎日期函式函式
- php函式總結PHP函式
- Oracle函式彙總Oracle函式
- Oracle 函式小結Oracle函式
- mysql日期函式總結MySql函式
- PHP常用函式總結PHP函式
- php 常用函式總結PHP函式
- SQL Server函式總結SQLServer函式
- 神經網路的啟用函式總結神經網路函式
- 字串函式的應用及做題總結字串函式
- oracle常用函式彙總Oracle函式
- SAP ABAP 函式總結 常用函式解釋函式
- vue.js 實踐總結(二)Render 函式Vue.js函式
- 常見啟用函式的介紹和總結函式
- Sigmoid函式總結Sigmoid函式
- 總結常用的字串函式字串函式
- mysql函式全面總結KSVMMySql函式
- loadrunner常用函式總結函式
- 函式呼叫規則總結函式
- [28期] 字串函式總結字串函式
- JavaScript Function 函式深入總結JavaScriptFunction函式
- JS函式驗證總結JS函式
- 用ORACLE分析函式實現行列轉換Oracle函式
- 關於字元函式的一些應用總結字元函式
- php之正規表示式函式總結PHP函式
- Oracle中B-Tree、Bitmap和函式索引使用案例總結Oracle函式索引
- Oracle中的時間函式用法(to_date、to_char) (總結)Oracle函式
- PHP 學習總結之函式PHP函式
- js常見函式總結(一)JS函式
- spark中的聚合函式總結Spark函式