当前位置: 代码迷 >> Sql Server >> 查询数据的SQL语句!
  详细解决方案

查询数据的SQL语句!

热度:84   发布时间:2016-04-27 19:00:11.0
求一个查询数据的SQL语句!!!
如果表a中某一列中有像以下这种字符串的数据即
列名假如是:                             a
这一列有如下这样的数据:
                                                12双/个
                                                12.385千克/件
在查询分析器里面执行完SQL语句后得到的结果是:
列名:a
          12
          12.385
也就是执行语句后,产生的结果中这一列当中都是数据,没有后面的汉字了

------解决方案--------------------
create table #temp(a varchar(50))
insert #temp
select '12双/个 ' union all
select '12.385千克/件 '

select left(a,len(a)-patindex( '%[0-9]% ',reverse(a))+1) from #temp


------------
12
12.385

------解决方案--------------------
也可以用函数:
create function f1(
@var varchar(2000))
returns varchar(2000)
as
begin
declare @v int,@i int,@var2 varchar(2000)
select @i=0,@v=len(@var)
while(@i <[email protected])
begin
if(ascii(@var2)> 128) break
select @var2=substring(@var,@i,@i+1)
select @[email protected]+1
end

return substring(@var,0,@i-1)
end
  相关解决方案