您好,登錄后才能下訂單哦!
這篇文章主要介紹“Oracle常用字符函數實驗分析”,在日常操作中,相信很多人在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)出現的空格,這是比較常用的基本功能。
到此,關于“Oracle常用字符函數實驗分析”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。