上投VARCHAR和字符的行为不同
-
27-09-2019 - |
题
为什么输出是该查询的不同
SELECT DATALENGTH(CAST('test' AS VARCHAR)), DATALENGTH(CAST('test' AS CHAR))
输出:
4,30
解决方案
的VarChar总是调整到传递的字符串的长度。因此输出为4。
CHAR具有30缺省的长度,因而输出为30。
其他提示
由于“当使用CAST和CONVERT功能时,当n不指定缺省长度是30 ”。但是,当数据长度被施加到varchar字段,它忽略尾部空格,而对于一个char字段长度字段本身的只是大小。
不隶属于 StackOverflow