为什么sql server的datalength函数加倍了我的字段长度?

ber*_*436 2 sql sql-server datalength

我想计算ntext字段中的字符.根据Pinal Dave的建议,我正在使用datalength.但是这个功能似乎加倍了我正在寻找的价值.当我将字段中的值复制到单词并计算字符时,我得到1502.但是当我这样做时

select datalength(result) from myTable 
Run Code Online (Sandbox Code Playgroud)

我得到3004个字符的值.

为什么?

HAB*_*ABO 7

Unicode是每个字符两个字节.您的NText字段是Unicode字符串. DataLength()返回存储字段所需的字节数,Len()返回字符数.

  • 并且`Len()` 忽略尾随空格。 (2认同)