1

在 SQL Server 中运行它时,我看到在 CHARACTER_MAXIMUM_LENGTH 列中为数据类型为 nvarchar(max) 的表字段/列定义了 -1。如果没有定义长度,我可以假设它总是设置为-1吗?

SELECT COLUMN_NAME,DATA_TYPE,CHARACTER_MAXIMUM_LENGTH,IS_NULLABLE,ORDINAL_POSITION 
FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME LIKE 'Ancestor_C%'

在此处输入图像描述

4

1 回答 1

1

根据这个线程,如果是的char, varchar, nchar, nvarcharMAX

...
CASE WHEN t.NAME IN ('char','varchar','nchar','nvarchar')
     THEN CASE WHEN c.max_length = - 1
               THEN 'MAX'
               ELSE CONVERT(VARCHAR(4), CASE WHEN t.NAME IN ('nchar','nvarchar') THEN c.max_length / 2
...

根据这个网站,它表明:

-1 用于 xml 和大值类型数据。否则,返回 NULL。

本站也支持

于 2013-03-14T18:42:28.610 回答