为什么输出与此查询不同
SELECT DATALENGTH(CAST('test' AS VARCHAR)), DATALENGTH(CAST('test' AS CHAR))
输出:
4,30
答案 0 :(得分:4)
VarChar始终调整为传递的字符串的长度。因此输出为4。
CHAR的默认长度为30,因此输出为30。
答案 1 :(得分:1)
因为"When n is not specified when using the CAST and CONVERT functions, the default length is 30“。但是当DataLength应用于varchar字段时,它会忽略尾随空格,而对于char字段,长度只是字段本身的大小。