例如表TB
F1 INT,F2 NCHAR(10),F3 NUMERIC(10,3)
F1  F2  F3
1   KK  10.000
SELECT * FROM TB WHERE F1=1
的结果转换为一个字符串 'F1=1,F2=KK,F3=10.000'

解决方案 »

  1.   

    select 'f1=1,f2='+cast(f2 as varchar)+,f3='+cast(f3 as varchar)
    from tb 
    where f1 =1
      

  2.   

    select 'f1=1,f2='+cast(f2 as varchar)+',f3='+cast(f3 as varchar)
    from tb  
    where f1 =1
      

  3.   

    select 'f1=1,f2='+ltrim(f2)+',f3='+ltrim(f3)
    from tb   
    where f1 =1
      

  4.   

    --利用函数求解
    create function getVar(@id int)
    returns varchar(1000)
    as
    begin
    --select * from student where id=@id
    declare @str varchar(1000)
    set @str='f1='+ltrim(@id)
    select @str=@str+',f2='+ltrim(f2)+'f3='+ltrim(f3) 
    from tb
    where f1=@id
    return @str
    endselect dbo.getVar(1)
      

  5.   

    select 'f1=1,f2='+cast(f2 as varchar)+,f3='+cast(f3 as varchar) + '  '
    from tb  
    where f1 =1
      

  6.   

    select 
    'F1='+RTRIM(f1)+',F2='+F2+',F3='+CAST(f3 as varchar(100))
    from TB
    where F1=1