[待解决问题] SQL怎么取字符串中的数字
提问时间: 2008-03-12 16:26
悬赏分:50 该问题已到期 浏览:746 次
帮帮忙啊,呵呵
提问者:bidaas - 初学一级
所有回答(4)
字符串什么样子的呢
sss8989sss
ss8989ss8989ss8989
7879aafds789
432432432543534
2个月前   回答者:暗香浮动 - 菜鸟二级
正则 \d+
2个月前   回答者:micYng - 菜鸟二级
select substring(所查询字符串,patindex('%[^0-9][0-9]%',所查询字符串)+1,patindex('%[0-9][^0-9]%',所查询字符串)-patindex('%[^0-9][0-9]%',所查询字符串))
这个只能查询第一次在字符串出现的数字串,希望可帮到你你
2个月前   回答者:Ticky - 菜鸟二级
declare   @str   varchar(100),@tmp   varchar(101),@i   int 

set   @str= 'sddfd123fddfd56fddf78 ' 
set   @tmp=@str+ 'a ' 

while   patindex( '%[0-9]% ',@tmp)> 0 
begin 
set   @i=1 
while   1=1 
begin 
if   isnumeric(substring(@tmp,patindex( '%[0-9]% ',@tmp)+@i,1))=0   break 
set   @i=@i+1 
end 
print   substring(@tmp,patindex( '%[0-9]% ',@tmp),@i) 
set   @tmp=stuff(@tmp,patindex( '%[0-9]% ',@tmp),@i, ' ') 
end 
1个月前   回答者:翅膀 - 菜鸟二级
2个月前   bidaas :
要在一个查询里就解决
1个月前   翅膀 :
用上面的写一个存储过程,传参就ok了啊
   您需要登录以后才能回答!
我的问题    我要提问


快到期问题

> 问题排行榜

有不合适内容,建议去除