【函式】Oracle的常用字元函式實驗展示(一)
Oracle提供了眾多實用的字元函式,在眾多的字元函式中常用的並不多,精通常用的幾個字元函式便可遊刃有餘。
透過這個小文兒簡單演示一下常用字元函式的用法,供參考。
1.實驗預備動作
1)建立實驗表T
sec@ora10g> create table t (first_name varchar2(15), family_name varchar2(15), alias_name varchar2(15), mark varchar2(15), ascii_num int);
Table created.
2)初始化一條資料
sec@ora10g> insert into t values ('Secooler ', 'HOU', 'sec', 'H', 72);
1 row created.
sec@ora10g> commit;
Commit complete.
sec@ora10g> select * from t;
FIRST_NAME FAMILY_NAME ALIAS_NAME MARK ASCII_NUM
--------------- --------------- --------------- --------------- ----------
Secooler HOU sec H 72
2.CHR函式
CHR函式可以得到數值對應的字元。因為我們採用的是ASCII字符集,所以數字“72”對應的字元便是“H”。
sec@ora10g> select chr(ASCII_NUM) chr from t;
CHR
----
H
不得不提的ASCII函式,這個函式可以理解是CHR函式的“反函式”,透過ASCII函式可以得到字元的ASCII字元編碼。
sec@ora10g> select ascii('H') ascii from t;
ASCII
----------
72
sec@ora10g> select ascii(mark) ascii from t;
ASCII
----------
72
3.CONCAT函式
CONCAT函式與“||”符號的功能類似,就是將兩個字串聯起來。
sec@ora10g> select concat(FIRST_NAME,FAMILY_NAME) "My Name is" from t;
My Name is
------------------------------
Secooler HOU
使用“||”可以實現同樣的效果
sec@ora10g> select FIRST_NAME||FAMILY_NAME "My Name is" from t;
My Name is
------------------------------
Secooler HOU
4.INITCAP函式
INITCAP函式從字面上就可以知道他的功能,即將字串的第一個字母轉換為大寫字母,其餘部分轉換為小寫字母的形式。無論字串初始內容是大寫還是小寫,都會被轉換為統一的形式。
sec@ora10g> select initcap(FIRST_NAME) initcap, initcap(FAMILY_NAME) initcap from t;
INITCAP INITCAP
--------------- ---------------
Secooler Hou
5.LOWER和UPPER函式
LOWER和UPPER函式類似INITCAP函式,只不過這裡的LOWER函式會將字串全部轉換為小寫字母,UPPER函式將字串全部轉換為大寫字母
1)LOWER函式演示
sec@ora10g> select lower(FIRST_NAME) lower, lower(FAMILY_NAME) lower from t;
LOWER LOWER
--------------- ---------------
secooler hou
2)UPPER函式演示
sec@ora10g> select upper(FIRST_NAME) upper, upper(FAMILY_NAME) upper from t;
UPPER UPPER
--------------- ---------------
SECOOLER HOU
6.LPAD和RPAD函式
LPAD和RPAD函式可以完成用特定字元填充字串到指定長度的目的。
1)在FAMILY_NAME左側填充“$”符號,使整個字串的長度為10。
sec@ora10g> select lpad(FAMILY_NAME,10,'$') lpad from t;
LPAD
----------------------------------------
$$$$$$$HOU
2)在FAMILY_NAME右側填充“$”符號,使整個字串的長度為10。
sec@ora10g> select rpad(FAMILY_NAME,10,'$') rpad from t;
RPAD
----------------------------------------
HOU$$$$$$$
3)混合使用,在FAMILY_NAME的左側新增三個“#”符號,同時在其後面新增四個“$”符號。
sec@ora10g> select rpad(lpad(FAMILY_NAME,6,'#'),10,'$') "LPAD and RPAD" from t;
LPAD and RPAD
----------------------------------------
###HOU$$$$
4)如果不指定填充的字元,則預設用空格進行填充
sec@ora10g> select lpad(FAMILY_NAME,10) lpad from t;
LPAD
----------------------------------------
HOU
7.LTRIM和RTRIM函式
LPAD和RPAD函式目的是填充,LTRM和RTRIM函式目的相反,刪除對應的內容。
1)刪除FIRST_NAME左側出現的“S”字母
這裡為了驗證刪除“所有”左側“S”字母,我們再初始化一條前面包含多個S的內容。
sec@ora10g> insert into t(FIRST_NAME) values ('SSSecooler');
1 row created.
sec@ora10g> select FIRST_NAME, ltrim(FIRST_NAME,'S') ltrim from t;
FIRST_NAME LTRIM
--------------- ---------------
Secooler ecooler
SSSecooler ecooler
可見,在FIRST_NAME欄位左側出現的“S”全部被刪除了。
2)刪除FAMILY_NAME右側出現的“U”字母
sec@ora10g> select FAMILY_NAME, rtrim(FAMILY_NAME,'U') rtrim from t;
FAMILY_NAME RTRIM
--------------- ---------------
HOU HO
同理,RTRIM函式也是會完成刪除“所有”字元的目的。這裡不再演示。
3)如果LTRIM和RTRIM函式不使用第二個引數,則實現的功能是去除字串左側(LTRIM)或右側(RTRIM)出現的空格,這是比較常用的基本功能。
先介紹這七組字元函式,待續ing……
Good luck.
secooler
09.12.26
-- The End --
透過這個小文兒簡單演示一下常用字元函式的用法,供參考。
1.實驗預備動作
1)建立實驗表T
sec@ora10g> create table t (first_name varchar2(15), family_name varchar2(15), alias_name varchar2(15), mark varchar2(15), ascii_num int);
Table created.
2)初始化一條資料
sec@ora10g> insert into t values ('Secooler ', 'HOU', 'sec', 'H', 72);
1 row created.
sec@ora10g> commit;
Commit complete.
sec@ora10g> select * from t;
FIRST_NAME FAMILY_NAME ALIAS_NAME MARK ASCII_NUM
--------------- --------------- --------------- --------------- ----------
Secooler HOU sec H 72
2.CHR函式
CHR函式可以得到數值對應的字元。因為我們採用的是ASCII字符集,所以數字“72”對應的字元便是“H”。
sec@ora10g> select chr(ASCII_NUM) chr from t;
CHR
----
H
不得不提的ASCII函式,這個函式可以理解是CHR函式的“反函式”,透過ASCII函式可以得到字元的ASCII字元編碼。
sec@ora10g> select ascii('H') ascii from t;
ASCII
----------
72
sec@ora10g> select ascii(mark) ascii from t;
ASCII
----------
72
3.CONCAT函式
CONCAT函式與“||”符號的功能類似,就是將兩個字串聯起來。
sec@ora10g> select concat(FIRST_NAME,FAMILY_NAME) "My Name is" from t;
My Name is
------------------------------
Secooler HOU
使用“||”可以實現同樣的效果
sec@ora10g> select FIRST_NAME||FAMILY_NAME "My Name is" from t;
My Name is
------------------------------
Secooler HOU
4.INITCAP函式
INITCAP函式從字面上就可以知道他的功能,即將字串的第一個字母轉換為大寫字母,其餘部分轉換為小寫字母的形式。無論字串初始內容是大寫還是小寫,都會被轉換為統一的形式。
sec@ora10g> select initcap(FIRST_NAME) initcap, initcap(FAMILY_NAME) initcap from t;
INITCAP INITCAP
--------------- ---------------
Secooler Hou
5.LOWER和UPPER函式
LOWER和UPPER函式類似INITCAP函式,只不過這裡的LOWER函式會將字串全部轉換為小寫字母,UPPER函式將字串全部轉換為大寫字母
1)LOWER函式演示
sec@ora10g> select lower(FIRST_NAME) lower, lower(FAMILY_NAME) lower from t;
LOWER LOWER
--------------- ---------------
secooler hou
2)UPPER函式演示
sec@ora10g> select upper(FIRST_NAME) upper, upper(FAMILY_NAME) upper from t;
UPPER UPPER
--------------- ---------------
SECOOLER HOU
6.LPAD和RPAD函式
LPAD和RPAD函式可以完成用特定字元填充字串到指定長度的目的。
1)在FAMILY_NAME左側填充“$”符號,使整個字串的長度為10。
sec@ora10g> select lpad(FAMILY_NAME,10,'$') lpad from t;
LPAD
----------------------------------------
$$$$$$$HOU
2)在FAMILY_NAME右側填充“$”符號,使整個字串的長度為10。
sec@ora10g> select rpad(FAMILY_NAME,10,'$') rpad from t;
RPAD
----------------------------------------
HOU$$$$$$$
3)混合使用,在FAMILY_NAME的左側新增三個“#”符號,同時在其後面新增四個“$”符號。
sec@ora10g> select rpad(lpad(FAMILY_NAME,6,'#'),10,'$') "LPAD and RPAD" from t;
LPAD and RPAD
----------------------------------------
###HOU$$$$
4)如果不指定填充的字元,則預設用空格進行填充
sec@ora10g> select lpad(FAMILY_NAME,10) lpad from t;
LPAD
----------------------------------------
HOU
7.LTRIM和RTRIM函式
LPAD和RPAD函式目的是填充,LTRM和RTRIM函式目的相反,刪除對應的內容。
1)刪除FIRST_NAME左側出現的“S”字母
這裡為了驗證刪除“所有”左側“S”字母,我們再初始化一條前面包含多個S的內容。
sec@ora10g> insert into t(FIRST_NAME) values ('SSSecooler');
1 row created.
sec@ora10g> select FIRST_NAME, ltrim(FIRST_NAME,'S') ltrim from t;
FIRST_NAME LTRIM
--------------- ---------------
Secooler ecooler
SSSecooler ecooler
可見,在FIRST_NAME欄位左側出現的“S”全部被刪除了。
2)刪除FAMILY_NAME右側出現的“U”字母
sec@ora10g> select FAMILY_NAME, rtrim(FAMILY_NAME,'U') rtrim from t;
FAMILY_NAME RTRIM
--------------- ---------------
HOU HO
同理,RTRIM函式也是會完成刪除“所有”字元的目的。這裡不再演示。
3)如果LTRIM和RTRIM函式不使用第二個引數,則實現的功能是去除字串左側(LTRIM)或右側(RTRIM)出現的空格,這是比較常用的基本功能。
先介紹這七組字元函式,待續ing……
Good luck.
secooler
09.12.26
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-623692/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【函式】Oracle的常用字元函式實驗展示(二)函式Oracle字元
- 【實驗】分析函式之魅力展示函式
- oracle字元函式Oracle字元函式
- Oracle OCP(03):字元函式、數字函式和日期函式Oracle字元函式
- Oracle常用的函式Oracle函式
- ORACLE 常用 函式Oracle函式
- oracle 常用函式Oracle函式
- Oracle常用函式Oracle函式
- ORACLE單行函式與多行函式之二:字元函式示例Oracle函式字元
- oracle 10g函式大全--字元型函式Oracle 10g函式字元
- Oracle函式-->字元處理Oracle函式字元
- 字元函式、數字函式和日期函式字元函式
- Oracle常用分析函式Oracle函式
- 字元函式字元函式
- 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 EXTRACT()函式與to_char() 函式函式Oracle
- MYSQL 一個巧用字元函式巧用字元函式做資料篩選的題MySql字元函式
- 【函式】Oracle函式系列(2)--數學函式及日期函式函式Oracle
- 字元處理函式字元函式
- Hive常用函式及自定義函式Hive函式
- Oracle聚合函式/分析函式Oracle函式
- 常用的Css函式CSS函式
- Js常用的函式JS函式
- CUDA 常用的函式函式
- Oracle 函式大全(字串函式,數學函式,日期函式,邏輯運算函式,其他函式)Oracle函式字串
- ORACLE單行函式與多行函式之一Oracle函式