作者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
1F:推 LoveDog29:感谢分享:) 03/07 22:14
2F:→ LoveDog29:不过你说写个函式 这个可行吗?? 因为现在例子 数字较少 03/07 22:15
3F:→ LoveDog29:要是有2、30多笔之类的话 就要去写一堆charindex了 03/07 22:16
4F:→ LoveDog29:真的会接到一堆很长的charindex去判断开始和结束的逗点 03/07 22:19
5F:→ LoveDog29:位置? 03/07 22:19