declare @a tinyint,@sz varchar(5) 
set @a=3
set @sz='12'
set @sz=@a+@sz
print @sz
结果为:15.我先前认为是123请问SqlServer文档上哪里有记载关于类型转换的优先级的资料?

解决方案 »

  1.   

    declare @a tinyint,@sz varchar(5) 
    set @a=3
    set @sz='12'
    set @sz=ltrim(@a)+@sz
    print @sz
      

  2.   

    一个是tinyint一个是varchar
    相加肯定是字符串拼接了
      

  3.   

    declare @a int,@sz varchar(5) 
    set @a=3
    set @sz='12'
    set @sz=@a+@sz
    print @sz--换成int也一样 
    都是15
      

  4.   

    sql的这个隐式转换跟一般的程序语言相反。
      

  5.   

    declare @a tinyint,@sz varchar(5) 
    set @a=3 
    set @sz='12' 
    set @sz=cast(@a as varchar(5))+@sz 
    print @sz