为什么CHARACTER_MAXIMUM_LENGTH给出SQL Server表NULL和-1?
问题描述:
SQL:为什么CHARACTER_MAXIMUM_LENGTH给出SQL Server表NULL和-1?
SELECT * FROM INFORMATION_SCHEMA.COLUMNS for columns like rank(id,null) CHARACTER_MAXIMUM_LENGTH is NULL and for the column id(varchar(max),null) CHARACTER_MAXIMUM_LENGTH is -1.
为什么不能我得到了排名的最大长度(ID,NULL) - 4
答
值为-1意味着它是一个varchar(最大)或nvarchar(最大)字段。
null值意味着它是一个数字,没有一个长度。
答
数字是不是字符,所以他们没有character_maximum_length
。
(max)
列不限于数据的〜2GB(2^31-1字节(2 GB)),所以然而,许多是在字符(成本的两倍以每nvarchar()
字符的字节VS varchar()
字符),被表示通过-1
。
我为什么不能得到排名的最大长度(ID,NULL) - 4 – vm101
什么是你真正想要做什么?集中你的问题。 – pmbAustin
@ vm101这个答案已经回答您的评论 – Lamak