Re: [SQL ] 擷取字串

看板Database作者 (Tse)時間14年前 (2012/03/07 16:58), 編輯推噓1(104)
留言5則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《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

03/07 22:14, , 1F
感謝分享:)
03/07 22:14, 1F

03/07 22:15, , 2F
不過你說寫個函式 這個可行嗎?? 因為現在例子 數字較少
03/07 22:15, 2F

03/07 22:16, , 3F
要是有2、30多筆之類的話 就要去寫一堆charindex了
03/07 22:16, 3F

03/07 22:19, , 4F
真的會接到一堆很長的charindex去判斷開始和結束的逗點
03/07 22:19, 4F

03/07 22:19, , 5F
位置?
03/07 22:19, 5F
文章代碼(AID): #1FLoDAPQ (Database)
文章代碼(AID): #1FLoDAPQ (Database)