问题:使用SQL server2000 数据库,在查询分析器中 执行一段查询代码 如:“select A+B+C+D AS MESSAGE from test”
 其中 A、B、C、D 都是TEST 表的字段,查询显示的结果被截取了,只显示一部分内容,数据库有什么规定吗?

解决方案 »

  1.   

    A,B,C,D各是什么数据类型,不一样的话用cast做转换再拼接比较保险.select cast(A as varchar)+cast(B as varchar)+cast(C as varchar)+cast(D as varchar) AS MESSAGE 
    from test
      

  2.   

    是不是空格造成的?可以这样:
    select cast(A as varchar) + 
           cast(B as varchar) +
           cast(C as varchar) +
           cast(D as varchar) AS MESSAGE 
    from test如果只是显示的地方被截断,则无所谓,拉宽你的列名即可.
      

  3.   

    指定长度select cast(A as varchar(max)) + 
           cast(B as varchar(max)) +
           cast(C as varchar(max)) +
           cast(D as varchar(max)) AS MESSAGE 
    from test
    max+max时支持 max+8000字节
      

  4.   

    查询时用网格显示结果,然后,点击内容网格,用CTRL+C复制,再粘贴到记事本上,你就知道它没有被截短.
      

  5.   

    试试这个呢,declare @x varchar(8000)select @x=cast(A as varchar)+cast(B as varchar)+cast(C as varchar)+cast(D as varchar) AS MESSAGE 
    from testprint @x