iT邦幫忙

0

sql 字串切割

  • 分享至 

  • xImage

各位大大好,小弟為SQL新手...
如提所示,

SELECT value 
FROM STRING_SPLIT('ABC123-測試文字-7(T)','-')

得到的結果會為
https://ithelp.ithome.com.tw/upload/images/20210531/20132538Hnhcqdxws7.png

想請問該如何取得最後一列 7(T)?

或者說有甚麼方式能夠取得該字串內的7呢?

請教各位大大,感謝感謝

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

2
japhenchen
iT邦超人 1 級 ‧ 2021-06-01 08:24:26
最佳解答

小把戲,參考看看
http://sqlfiddle.com/#!18/f96c3/35/0

DECLARE @var as varchar(max)
DECLARE @result  as varchar(max)

SELECT TOP 1 @var = REVERSE(value) 
FROM STRING_SPLIT(REVERSE('ABC123-測試文字-7(T)'),'-')

SELECT TOP 1 @result = value  
FROM STRING_SPLIT(@var,'(')                  

SELECT @result

SQL2016以下的寫法(2016才支援STRING_SPLIT)

DECLARE @q as varchar(max) = 'ABC123-測試文字-7(T)'
DECLARE @r as varchar(max)
SELECT @r = RIGHT(@q ,CHARINDEX('-',REVERSE(@q))-1)
SELECT LEFT(@r,CHARINDEX('(',@r)-1)

感謝大大!!
小弟試了很久...
對資料庫理解不夠多...
大大看來信手拈來!!
厲害厲害!!

再次感謝大大!!

我要發表回答

立即登入回答