【函式】Oracle的常用字元函式實驗展示(二)
此文是《【函式】Oracle的常用字元函式實驗展示(一)》的姊妹篇。
參考地址:http://space.itpub.net/519536/viewspace-623692
GO ON ...
8.REPLACE函式
REPLACE函式完成替換功能,如果不指定替換的內容將會刪除與之匹配的內容。
1)刪除FIRST_NAME欄位中出現的“cool”字串
sec@ora10g> select FIRST_NAME, replace(FIRST_NAME,'cool') replace from t;
FIRST_NAME REPLACE
--------------- ---------------
Secooler Seer
此時Secooler已經變成了“先知”(Seer):)。
2)將FIRST_NAME欄位中的“cool”替換為“****”符號
sec@ora10g> select FIRST_NAME, replace(FIRST_NAME,'cool','****') replace from t;
FIRST_NAME REPLACE
--------------- -----------------------------------------------------
Secooler Se****er
9.SUBSTR函式
使用SUBSTR函式可以得到字串的一個子串。
1)得到FIRST_NAME欄位的前三個字元
sec@ora10g> select FIRST_NAME, substr(FIRST_NAME,1,3) substr from t;
FIRST_NAME SUBSTR
--------------- ------------
Secooler Sec
2)從FIRST_NAME欄位的第三個字元開始連續取4個字元。
sec@ora10g> select FIRST_NAME, substr(FIRST_NAME,3,4) substr from t;
FIRST_NAME SUBSTR
--------------- ----------------
Secooler cool
的確很“cool”吧:)
3)從相反的方向獲得子字串
下面的SQL中substr函式的第二個引數是“-6”,表示從字串後面向前數第6個字元開始,再讀取4個字元。這裡構造的結構和上面的結果相同,可謂殊途同歸是也。
這裡之所以使用到了rtrim函式,是為了消除字串尾部空格對結果的影響。
sec@ora10g> select FIRST_NAME, substr(rtrim(FIRST_NAME),-6,4) substr from t;
FIRST_NAME SUBSTR
--------------- ----------------
Secooler cool
4)SUBSTR函式的第三個引數可以為空,表示從擷取開始的位置一直到字串尾部的意思。
sec@ora10g> select FIRST_NAME, substr(FIRST_NAME,3) substr from t;
FIRST_NAME SUBSTR
--------------- ----------------------------------------------------
Secooler cooler
10.TRANSLATE函式
1)將“H”翻譯成“S”、將“O”翻譯成“e”、將“U”翻譯成“c”
sec@ora10g> select FAMILY_NAME, translate(FAMILY_NAME,'HOU','Sec') translate from t;
FAMILY_NAME TRANSLATE
--------------- ----------------------------------------------------
HOU Sec
2)想一想下面的SQL為什麼沒有把“Secooler”轉換為“Shengwen”?體會一下這個“翻譯”過程的細節之處。
sec@ora10g> select FIRST_NAME, translate(FIRST_NAME,'Secooler','Shengwen') from t;
FIRST_NAME TRANSLATE(FIRST_NAME,'SECOOLER','SHENGWEN')
--------------- ----------------------------------------------------
Secooler Shennwhn
透過自己雙手和思考得到的才是永恆,這裡先不道破鳥~~
11.INSTR函式
語法是:INSTR (string , substring [, position [, occurrence ] ])
INSTR函式可以得到子字串(當然包含單個字元)在字串中的位置,返回的是數字。
1)得到字母“o”在FIRST_NAME欄位第一次出現的位置
sec@ora10g> select FIRST_NAME, instr(FIRST_NAME,'o') instr from t;
FIRST_NAME INSTR
--------------- ----------
Secooler 4
2)從字串的第5個字元開始查詢,第一次出現字母“o”的位置
sec@ora10g> select FIRST_NAME, instr(FIRST_NAME,'o',5) instr from t;
FIRST_NAME INSTR
--------------- ----------
Secooler 5
3)從字串的第1個字元開始查詢,第二次出現字母“o”的位置
sec@ora10g> select FIRST_NAME, instr(FIRST_NAME,'o',1,2) instr from t;
FIRST_NAME INSTR
--------------- ----------
Secooler 5
12.LENGTH函式
參考《【差異】LENGTH與VSIZE的區別演示》http://space.itpub.net/519536/viewspace-623537
13.小結
透過兩篇小文兒給大家介紹了12個Oracle常用字元函式。善用函式帶給我們的便利不可小視,也許不經意間在使用這些函式進行簡單組合之後就會給我們帶來無限的快感。
Good luck.
secooler
2009.12.27
-- The End --
參考地址:http://space.itpub.net/519536/viewspace-623692
GO ON ...
8.REPLACE函式
REPLACE函式完成替換功能,如果不指定替換的內容將會刪除與之匹配的內容。
1)刪除FIRST_NAME欄位中出現的“cool”字串
sec@ora10g> select FIRST_NAME, replace(FIRST_NAME,'cool') replace from t;
FIRST_NAME REPLACE
--------------- ---------------
Secooler Seer
此時Secooler已經變成了“先知”(Seer):)。
2)將FIRST_NAME欄位中的“cool”替換為“****”符號
sec@ora10g> select FIRST_NAME, replace(FIRST_NAME,'cool','****') replace from t;
FIRST_NAME REPLACE
--------------- -----------------------------------------------------
Secooler Se****er
9.SUBSTR函式
使用SUBSTR函式可以得到字串的一個子串。
1)得到FIRST_NAME欄位的前三個字元
sec@ora10g> select FIRST_NAME, substr(FIRST_NAME,1,3) substr from t;
FIRST_NAME SUBSTR
--------------- ------------
Secooler Sec
2)從FIRST_NAME欄位的第三個字元開始連續取4個字元。
sec@ora10g> select FIRST_NAME, substr(FIRST_NAME,3,4) substr from t;
FIRST_NAME SUBSTR
--------------- ----------------
Secooler cool
的確很“cool”吧:)
3)從相反的方向獲得子字串
下面的SQL中substr函式的第二個引數是“-6”,表示從字串後面向前數第6個字元開始,再讀取4個字元。這裡構造的結構和上面的結果相同,可謂殊途同歸是也。
這裡之所以使用到了rtrim函式,是為了消除字串尾部空格對結果的影響。
sec@ora10g> select FIRST_NAME, substr(rtrim(FIRST_NAME),-6,4) substr from t;
FIRST_NAME SUBSTR
--------------- ----------------
Secooler cool
4)SUBSTR函式的第三個引數可以為空,表示從擷取開始的位置一直到字串尾部的意思。
sec@ora10g> select FIRST_NAME, substr(FIRST_NAME,3) substr from t;
FIRST_NAME SUBSTR
--------------- ----------------------------------------------------
Secooler cooler
10.TRANSLATE函式
1)將“H”翻譯成“S”、將“O”翻譯成“e”、將“U”翻譯成“c”
sec@ora10g> select FAMILY_NAME, translate(FAMILY_NAME,'HOU','Sec') translate from t;
FAMILY_NAME TRANSLATE
--------------- ----------------------------------------------------
HOU Sec
2)想一想下面的SQL為什麼沒有把“Secooler”轉換為“Shengwen”?體會一下這個“翻譯”過程的細節之處。
sec@ora10g> select FIRST_NAME, translate(FIRST_NAME,'Secooler','Shengwen') from t;
FIRST_NAME TRANSLATE(FIRST_NAME,'SECOOLER','SHENGWEN')
--------------- ----------------------------------------------------
Secooler Shennwhn
透過自己雙手和思考得到的才是永恆,這裡先不道破鳥~~
11.INSTR函式
語法是:INSTR (string , substring [, position [, occurrence ] ])
INSTR函式可以得到子字串(當然包含單個字元)在字串中的位置,返回的是數字。
1)得到字母“o”在FIRST_NAME欄位第一次出現的位置
sec@ora10g> select FIRST_NAME, instr(FIRST_NAME,'o') instr from t;
FIRST_NAME INSTR
--------------- ----------
Secooler 4
2)從字串的第5個字元開始查詢,第一次出現字母“o”的位置
sec@ora10g> select FIRST_NAME, instr(FIRST_NAME,'o',5) instr from t;
FIRST_NAME INSTR
--------------- ----------
Secooler 5
3)從字串的第1個字元開始查詢,第二次出現字母“o”的位置
sec@ora10g> select FIRST_NAME, instr(FIRST_NAME,'o',1,2) instr from t;
FIRST_NAME INSTR
--------------- ----------
Secooler 5
12.LENGTH函式
參考《【差異】LENGTH與VSIZE的區別演示》http://space.itpub.net/519536/viewspace-623537
13.小結
透過兩篇小文兒給大家介紹了12個Oracle常用字元函式。善用函式帶給我們的便利不可小視,也許不經意間在使用這些函式進行簡單組合之後就會給我們帶來無限的快感。
Good luck.
secooler
2009.12.27
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-623707/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【函式】Oracle的常用字元函式實驗展示(一)函式Oracle字元
- ORACLE單行函式與多行函式之二:字元函式示例Oracle函式字元
- 【實驗】分析函式之魅力展示函式
- oracle字元函式Oracle字元函式
- Oracle OCP(03):字元函式、數字函式和日期函式Oracle字元函式
- Oracle常用的函式Oracle函式
- ORACLE 常用 函式Oracle函式
- oracle 常用函式Oracle函式
- Oracle常用函式Oracle函式
- oracle 10g函式大全--字元型函式Oracle 10g函式字元
- Oracle函式-->字元處理Oracle函式字元
- 字元函式、數字函式和日期函式字元函式
- Oracle常用分析函式Oracle函式
- 字元函式字元函式
- excel中常用函式(二)Excel函式
- oracle實驗記錄 (函式index)Oracle函式Index
- 常用函式--時間函式函式
- oracle常用函式介紹Oracle函式
- Oracle常用函式總結Oracle函式
- oracle常用函式彙總Oracle函式
- oracle資料庫常用分析函式與聚合函式的用法Oracle資料庫函式
- Mysql 常用函式(1)- 常用函式彙總MySql函式
- Mysql 常用函式(15)- upper 函式MySql函式
- 核函式 多項式核函式 高斯核函式(常用)函式
- 【函式】ORACLE函式大全函式Oracle
- 常用函式函式
- oracle開發常用到的函式Oracle函式
- Oracle 內建函式二Oracle函式
- 工作中,Oracle常用函式Oracle函式
- ORACLE函式介紹第二篇 非著名函式之單值函式Oracle函式
- 【函式】Oracle EXTRACT()函式與to_char() 函式函式Oracle
- 【函式】Oracle函式系列(2)--數學函式及日期函式函式Oracle
- 字元處理函式字元函式
- Hive常用函式及自定義函式Hive函式
- Oracle聚合函式/分析函式Oracle函式
- 常用的Css函式CSS函式
- Js常用的函式JS函式
- CUDA 常用的函式函式