1:你的写法也对,只不过是打印ASCII=12的字符,为空。
2:PRINT CONVERT(CHAR(2),@TEST),打印12

解决方案 »

  1.   

    DECLARE @TEST INT
    SELECT @TEST = 12
    PRINT cast(@TEST as char)
      

  2.   

    cast(@TEST as char)
    convert(chr(5),@TEST)
      

  3.   

    比如字段1  char(5)  我要把它转换成numeric(3,2),这么做?  
     
    Cast(字段1  as  numeric(10,2))/100  
     
    要先看你的“字段1  ”的长度是多少,保证转化为numeric时不超长。  
    四舍五入  n取"字段1  "  最大长度  
    cast(cast(字段1  as  numeric(n,0))/100+0.5  as  int)  
      

  4.   

    语法
    使用 CAST:CAST ( expression AS data_type ) 使用 CONVERT:CONVERT (data_type[(length)], expression [, style])
      

  5.   

    sql server中的数据类型,统一用:cast(数据 as 数据类型)

    convert(数据类型,数据)
      

  6.   

    所以你的处理方法,应该是:DECLARE @TEST INT
    SELECT @TEST = 12
    PRINT cast(@TEST as varchar)

    PRINT convert(varchar,@TEST)
      

  7.   

    DECLARE @TEST INT
    SELECT @TEST = 12
    PRINT cast(@TEST as varchar)

    PRINT convert(varchar,@TEST)