也许在某个地方有一个答案,但是,我在Google上找不到这个问题的有效答案,所以我会在这里问这个问题。
我想动态地获取有关存储过程参数的一些信息,因此我编写了以下脚本:
SELECT PARAMETER_NAME,
DATA_TYPE,
CHARACTER_MAXIMUM_LENGTH,
CHARACTER_OCTET_LENGTH
FROM INFORMATION_SCHEMA.PARAMETERS
WHERE SPECIFIC_NAME = @ProcName问题是CHARACTER_MAXIMUM_LENGTH和CHARACTER_OCTET_LENGTH之间有什么区别。你能举个例子说明他们什么时候会有不同的结果吗?

提前谢谢。
发布于 2014-08-16 11:54:43
正如在MSDN文档中所描述的,CHARACTER_OCTET_LENGTH是以字节为单位的长度,CHARACTER_MAXIMUM_LENGTH是以字符为单位的长度。
对于char或varchar类型的参数,它们将是相同的,但对于nchar或nvarchar类型的参数,它们将是不同的,八进制长度是CHARACTER_LENGTH的两倍(如果不是总是的话)。
https://dba.stackexchange.com/questions/74153
复制相似问题