[SQL] 如何取得欄位中具固定pattern字串最右邊的值
今天同事問了一個SQL語法問題,由於之前沒遇到這樣的需求,就順手分享記錄一下 :)
- 需求:
某個欄位中儲存的字串值是有一定的pattern格式,想取出最靠右邊的一段出來
- 範例說明:
假設欄位裡的資料如下圖所示,是以『.』串起來的值,想取出最後一段的
字串出來。
- 語法:
利用反轉字串,然後找出第一個『.』出現位置的 index 值,再 index 值決定右取
多少長度的字串即可。
反轉字串Function – REVERSE
ChartIndex Function - CHARINDEX
右取固定長度字串 - RIGHT
select typename
,RIGHT(typename,(CHARINDEX('.',REVERSE(typename))-1)) as result
from mytable
若本文對您有所幫助,歡迎轉貼,但請在加註【轉貼】及來源出處,並在附上本篇的超連結,感恩您的配合囉。
By No.18