新手,平日里做了一个小练习。
 select exitmeeall + '('+exitdate+')'
 from dida
 order by exitdate结果返回结果为
消息 245,级别 16,状态 1,第 1 行
在将 varchar 值 '(' 转换成数据类型 int 时失败。个人认为,由于出来的结果是“XXXX(XXXX)”的形式,将两个int数据合并时多出了“(”这个非int类型的数据,我想问一下如果解决这个问题,能够键入代码将查询结果变为varchar格式?

解决方案 »

  1.   

    select cast(exitmeeall as varchar(10)) + '('+cast(exitdate as varchar(10))+')'
     from dida
     order by exitdate
      

  2.   

    cast(字段 as varchar(1000))
      

  3.   

    try this, select rtrim(exitmeeall)+'('+rtrim(exitdate)+')'
     from dida
     order by exitdate
      

  4.   


    这个答案很有意思,想问一下,RTRIM在SQL中一般是什么作用呢?
      

  5.   

    RTRIM一般用于去除字符串右空格,也可用于将int型转字符型.
    参考 http://msdn.microsoft.com/zh-cn/library/ms178660(v=sql.105).aspx