DECLARE @i VARCHAR(20)
SET   @i='我和coffee'
SELECT LEN(@i) ----查询器结果为 8DECLARE @j NVARCHAR(20)
SET   @j='我和coffee'
SELECT LEN(@j)----查询器结果为 8为什么都是结果8呀 
字段长度指的是存储空间大小么?我认为第一个结果为2×2+6=10
第二个为 8*2=16 
 我错哪里了 ·····················没一个对的呀。戳

解决方案 »

  1.   

    微软的解释:
    LEN 返回给定字符串表达式的字符数(不包括尾随空格),而不是返回字节数。
      

  2.   

    DATALENGTH 返回用于表示任何表达式的字节数。
      

  3.   


    --放一起看 就明白了
    DECLARE @i VARCHAR(20)
    SET @i='我和coffee'
    SELECT LEN(@i) ----查询器结果为 8
    SELECT DATALENGTH(@i)DECLARE @j NVARCHAR(20)
    SET @j='我和coffee'
    SELECT LEN(@j)----查询器结果为 8
    SELECT DATALENGTH(@j)