teradata SQL基礎:字元串處理
SQL中有很多對字元串處理的,這個時候就要用到字元串處理函數了。這裡簡單介紹下字元串處理函數:
- Substring截取函數
- 「||」拼接函數
- Index定位函數
- Trim去除首位空格函數
- Oreplace替換函數
1.Substring函數
截取字元串使用方法為:
SUBSTRING (字元串表達式 FROM 開始位置 [ FOR 長度 ])
具體示例如下:
注意字元串是從1開始的,不像很多 編程語言從0開始。
2.拼接函數
合併字元串把兩個字元串合併為一個字元串。基本格式為:
字元串1 || 字元串2
比如:
ab||cd
結果為:abcd
使用比較簡單。
3.Index定位函數
定位函數主要查找字串在源字元串中的開始位置。
比如:
SELECT INDEX(abc, b);
返回結果2
SELECT INDEX(abc, ab);
返回結果1
SELECT INDEX(abc, d);
返回結果0
注意查找不成功返回0,不像python中的字元串查找不成功返回-1.
4.Trim函數
Trim函數,會去掉字元串首位的空格。
比如:
select trim(abc );select trim( abc);select trim( abc );
結果都為:
abc
不同系統過來的數據會自動加入空格等,造成表關聯不上,這個函數在數據規整清洗時候還是很常用的。
5.Oreplace函數
Teradata替換字元串函數為oreplace。使用方法如下:
oreplace(源字元串,需要替換的字元串 ,替換的字元串)
比如把電話號碼中的-
去掉:
oreplace(189-1234-5678,-,)
得到:
18912345678
又比如,將字元串中的abc
替換成def
:
oreplace(abcmeff,abc,def)
得到:
defmeff
Reference:
《Teradata SQL基礎教程》
更多內容請查看個人公眾號:DataCode
推薦閱讀:
※分享下你寫過的你覺得最厲害的sql語句?
※《深入淺出SQL》學習筆記
※以 MySQL 為例,如何進行 SQL 注入和防止被注入?
※SQL 查詢按照家庭住址進行分組時,組內平均年齡小於50歲的組中成員的姓名和年齡?
※讓SQL語句更可讀