- Oracle從新手到高手
- 楊繼萍
- 1489字
- 2019-12-09 14:49:06
5.1 字符函數(shù)
字符函數(shù)指用于對字符表達式進行處理的函數(shù),它也是Oracle系統(tǒng)中被廣泛使用的函數(shù)。在使用字符串函數(shù)時,其輸入值一般是字符數(shù)據(jù)類型的,而其輸出結果則是經(jīng)過處理的字符表達式。
5.1.1 字符函數(shù)概述
在Oracle系統(tǒng)中,函數(shù)使用下列語法格式來表示。
FUNCTION(sting [, option])
上述代碼中,函數(shù)本身為大寫狀態(tài),其參數(shù)為小寫狀態(tài)。sting參數(shù)表示文本字符串或字符串列的名稱,其中文本字符串需要使用單引號括起來;而參數(shù)option為非必選參數(shù)。
例如,使用轉換大小寫的函數(shù)LOWER,其語法格式為:
LOWER(sting)
如若轉換某個具體字符串,則需要將字符串放置在函數(shù)的位置,例如:
LOWER('CMT')
此時,該函數(shù)的輸出結果為“CMT”。由于直接使用了字符串,所以需要使用單引號括起來。除此之外,該函數(shù)還可以直接使用表列名稱進行轉換,使用列名稱時無須使用單引號。
一般情況下,用戶可以使用的字符函數(shù)如下表所示。實際上,這些字符函數(shù)在許多編程語言中都可以使用。

5.1.2 常用的字符串函數(shù)
為了更好地理解這些字符函數(shù),下面通過一些常用函數(shù)示例,詳細介紹字符函數(shù)的用法。
1. ASCII()和CHR()函數(shù)
ASCII()函數(shù)可以返回某個字符的ASCII碼值;CHR()函數(shù)則與其相反,它返回給出ASCII碼值所應的字符。這兩個函數(shù)在判斷某個字符時經(jīng)常會用到。
下面的示例演示了ASCII()和CHR()函數(shù)的使用方法。

如果在ASCII()函數(shù)中包含了多個字符,則只返回第一個字符的ASCII值。
2. CONCAT()函數(shù)
CONCAT(X,Y)函數(shù)用于連接字符串X和Y,并形成新的字符串。這種連接是緊密連接,兩個字符串的連接之間沒有空格等分隔字符。
下面的示例使用CONCAT()函數(shù)把EMP表中的MGR和JOB列連接起來。

3. INITCAP()函數(shù)
INITCAP(X)函數(shù)表示把字符串X中的所有英文單詞轉換為首字母大寫的形式。不過,這種函數(shù)對漢字沒有影響。
例如,下面的示例為對字符串進行處理,將字符串的第一個字母變?yōu)榇髮憽?/p>

4. INSTR()函數(shù)
INSTR(X,F(xiàn)IND_STRING[,START][,OCCURRENCE])函數(shù)在字符串X中搜索FIND_STRING字符,并返回其位置。如果使用了可選參數(shù)START和OCCURRENCE,那么表示從START位置開始當?shù)贠CCURRENCE次返回FIND_STRING字符串時才返回其位置。
例如,下面的示例將搜索字符A的位置。

5. LOWER()和UPPER()函數(shù)
LOWER(X)和UPPER(X)函數(shù)也是一對常用的函數(shù),前一個函數(shù)將字符串X轉變成小寫字母,后一個函數(shù)則相反,將字符串X全部轉變?yōu)榇髮懽帜浮?/p>
例如,下面的語句分別使用LOWER()和UPPER()函數(shù),將數(shù)據(jù)轉換成小寫字母和大寫字母。

6. LTRIM()、RTRIM()和TRIM()函數(shù)
LTRIM()、RTRIM()和TRIM()函數(shù)都是用來刪除指定字符串周圍的字符的。LTRIM(X[,TRIM_STRING])函數(shù)用于刪除字符串X左邊的字符,如果使用了可選的TRIM_STRING參數(shù),那么將刪除字符串X左邊的TRIM_STRING字符串;如果沒有指定TRIM_STRING參數(shù),那么刪除字符串X左邊的空格。RTRIM()函數(shù)與此類似,只是方向在右邊。TRIM()函數(shù)則刪除字符串兩端的字符串。
例如,下面的語句分別使用LTRIM()、RTRIM()和TRIM()函數(shù)處理字符串。

7. RPAD()和LPAD()函數(shù)
RPAD()函數(shù)用于填充列右側的字符,其填充字符為任意字符,其語法格式為:
RPAD(string,length[, 'set'])
而LPAD()函數(shù)則用于填充列左側的字符,其填充字符為任意字符。
LPAD(string,length[, 'set'])
在上述語法格式中,參數(shù)string表示字符或字符類型的列,參數(shù)length表示字符長度,而參數(shù)set則表示需要填充的字符。如果省略方括號中的內容,該函數(shù)則會直接填充空格。
例如,下面的語句中將使用RPAD()函數(shù),在表列的右側填充長度為5的虛點。

8. LENGTH()函數(shù)
LENGTH()函數(shù)用于返回指定字符串的長度,長度值包含字母、空格和任何其他字符。
例如,下面的語句中使用了LENGTH()函數(shù),返回了REPORT_DTE列中字符串的長度。

提示:
LENGTH()函數(shù)還可以作為WHERE或ORDER BY子句,以及其他函數(shù)一部分參與計算。
9. SUBSTR()函數(shù)
SUBSTR()函數(shù)用于提取指定字符串中的部分字符串,該函數(shù)的語法格式為:
SUBSTR(string,start[, count])
上述語法格式中,參數(shù)string表示指定的字符串,參數(shù)start表示提取字符串的起始位置,參數(shù)count表示字符串的長度,如果省略count,該函數(shù)將從start位置提取到字符串末尾。
例如,下面的語句中使用了SUBSTR()函數(shù),提取了REPORT_DTE列中字符串的第二個字符后的4個字符。
SQL> select substr(report_dte,2,4) from report; SUBSTR(R -------- 8-9月 8-9月 7-9月 7-9月 6-9月 6-9月 7-9月 7-9月 已選擇8行。
- 極簡算法史:從數(shù)學到機器的故事
- 軟件項目估算
- Easy Web Development with WaveMaker
- 網(wǎng)絡爬蟲原理與實踐:基于C#語言
- Mastering Linux Network Administration
- Android應用案例開發(fā)大全(第二版)
- 細說Python編程:從入門到科學計算
- Natural Language Processing with Python Quick Start Guide
- PyQt編程快速上手
- INSTANT Apache ServiceMix How-to
- Ext JS 4 Plugin and Extension Development
- Drupal 8 Development:Beginner's Guide(Second Edition)
- Visual Basic語言程序設計上機指導與練習(第3版)
- Building Clouds with Windows Azure Pack
- 前端架構設計