select vend_name + '( ' + vend_country + ' )'
from vendors
后面的vend_country的名字都被...给覆盖了。
例如:
bear emporium                 ....
而select rtrim(vend_name)+ '(' +rtrim (vend_country)+')'  
from vendors
可以正常显示
bear emporium(USA)

解决方案 »

  1.   

    加个rtrim可以隐式转换为字符串型的。
      

  2.   

    怎么会覆盖呢,一定是中间有一些空格,它向后移了.
    如果 vend_name 是char 型的,会这样.
    或者,如果你把相加后的内容插入到一个表中去的时候,可能会因长度不够而被截断.
      

  3.   

    vend_country--非字符时需要用 cast( col as nvarchar(100))
      

  4.   

    加rtrim的作用是,把子vend_name 的尾随空格抹去.
      

  5.   

    对,是char类型。还有个问题,不是取别名可以as,它计算出来的新字段应该不会写入数据库吧?我在数据库里面没有发现表里面出现我as vend_title这个字段。那它是怎么被客户机怎么用呢。我这章看得有点模糊了!