sql server数据库中,有个字段cp的记录值是“中国5201314..................”很长,如果我只用 cast(cp as varchar(5))
1 会出错吗?
2, 还是提取“中国520”
3,还是提取“中国5”??

解决方案 »

  1.   


    select cast('中国5201314..................' as varchar(5))      
    ----- 
    中国5(所影响的行数为 1 行)
      

  2.   

    错了
    select cast('中国我爱你' as varchar(2))
    ----
    中(1 行受影响)
      

  3.   


    declare @a varchar(20)
    set @a='中国5201314........'select cast(@a as varchar(5))-----
    中国5        --事实胜于雄辩(1 行受影响)
      

  4.   

    select cast('中国5201314..................' as varchar(5))
    /*-----
    中国5(1 行受影响)*/
      

  5.   

    select cast('中国5201314' as varchar(5))
    /*
    -----
    中国5(1 行受影响)
    */
    select cast('中国5201314' as nvarchar(5))
    /*-----
    中国520(1 行受影响)*/
      

  6.   

    我晕倒啊,我机子上没sql server不好测试请问楼上的,测试过没有啊。??、到底哪个是答案?
      

  7.   

    原因很简单,汉字属于unicode字符,一个汉字占用2个非unicode字节.
      

  8.   


    要学好sql server建议你还是装一个吧