我的表里有3个int型的列a、b、c,希望把他们连成一个string型的列a-b-c请问应如何编写查询
我现在写select a+'-'+b+'-'+c as d结果不对

解决方案 »

  1.   

    select ltrim(a)+'-'+ltrim(b)+'-'+ltrim(c) as d
      

  2.   

    select quotename(a)+'-'+quotename(b)+'-'+quotename(c) as d
      

  3.   

    select concat(a,'-',b,'-',c) as d
      

  4.   


    select cast(a as varchar)+'-'+cast(b as varchar)+'-'+cast(c as varchar) as d
      

  5.   

    用程序连接数据库表取出来整型数a,b,c,在程序里转换成string再字符串相加就可以了
      

  6.   

    select ltrim(1)+'-'+ltrim(2)+'-'+ltrim(3) as d
    将1,2,3,替换成int类型的字段名
      

  7.   

    cast转换行不? 或者用 convert 
      

  8.   


    select convert(nvarchar(50),a)+'-'+convert(nvarchar(50),b)+'-'+convert(nvarchar(50),c) as newString