作者twoseven (Tse)
看板Database
標題Re: [SQL ] 擷取字串
時間Wed Mar 7 16:58:47 2012
※ 引述《LoveDog29 (愛狗)》之銘言:
: 請問在MS SERVER裡 有個字串欄位如下
: 12,345,6789,111111,....
: 如果只想要擷取345 這個字串的話
: 有什麼好方法呢??
: 由於逗號和逗號間的字串數字長度都有可能變動
: 所以是不是要用charindex和substring做到?
DECLARE @s varchar(30)
set @s='313123,45631231,7831329'
SELECT charindex(',',@s),charindex(',',@s,charindex(',',@s)+1) --第1.2個','
SELECT
substring(
@s,
charindex(',',@s)+1, --第一個,位置+1
charindex(',',@s,charindex(',',@s)+1)-1-charindex(',',@s) --計算長度
)
為了方便應該也可以寫個函式用
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.117.41.57
推 LoveDog29:感謝分享:) 03/07 22:14
→ LoveDog29:不過你說寫個函式 這個可行嗎?? 因為現在例子 數字較少 03/07 22:15
→ LoveDog29:要是有2、30多筆之類的話 就要去寫一堆charindex了 03/07 22:16
→ LoveDog29:真的會接到一堆很長的charindex去判斷開始和結束的逗點 03/07 22:19
→ LoveDog29:位置? 03/07 22:19