標籤:

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語句更可讀

TAG:數據科學 | SQL |