如何把一個數字和字母混合的字符型字段分開:如有1,2,3,4,5,A,B,C,D,E,F,G.....請問怎樣把數字和
字母分別查詢出來!

解决方案 »

  1.   

    create function spilit(@s varchar(1000))
    returns varchar(1000)
    as
    begin
    declare @num varchar(1000)
    declare @a   varchar(1000)
    declare @rst varchar(1000)
    declare @c varchar(2)
    declare @i int
    set @a=''
    set @num=''
    set @i=1
    while @i<=len(@s)
    begin
    set @c=substring(@s,@i,1)
    if @c like '[1-9]'
    begin
    set @num=@num+@c
    end
    else
    begin
    set @a=@a+@c
    endset @i=@i+1end
    set @rst=@num+@a
    return @rst
    end
    select dbo.spilit('asdf12asdf,q23r')                                                                                                                                                                                                                                                               结果  
    1223asdfasdf,qr(所影响的行数为 1 行)