为什么输出是该查询的不同

SELECT DATALENGTH(CAST('test' AS VARCHAR)), DATALENGTH(CAST('test' AS CHAR))

输出:

4,30

有帮助吗?

解决方案

的VarChar总是调整到传递的字符串的长度。因此输出为4。

CHAR具有30缺省的长度,因而输出为30。

其他提示

由于“当使用CAST和CONVERT功能时,当n不指定缺省长度是30 ”。但是,当数据长度被施加到varchar字段,它忽略尾部空格,而对于一个char字段长度字段本身的只是大小。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top