SQL Server 2005中len()和datalength()有什么区别?
DATALEN将返回用于存储值的字节数:
http://msdn.microsoft.com/en-us/library/ms173486(SQL.90).aspx
LEN将返回字符串中字符的数量。由于字符串可以使用单字节或双字节字符,因此这与DATALENGTH不同,在这种情况下,无论一个字符有多长,您始终会获得1:
DATALENGTH函数返回字符串的字节长度,包括尾随空格。而LEN函数返回字符长度,不包括尾随空格。例如:
SELECT LEN('string'), LEN('string '), DATALENGTH('string'), DATALENGTH('string '), LEN(N'string'), LEN(N'string '), DATALENGTH(N'string'), DATALENGTH(N'string ')
将会返回6、6、6、9、6、6、12和18。