1

これを SQL Server で実行すると、データ型が nvarchar(max) のテーブル フィールド/列の CHARACTER_MAXIMUM_LENGTH 列に -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, nvarcharならMAX

...
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
...

このサイトによると、次のように表示されます。

xml および大きな値の型のデータの場合は -1。それ以外の場合は、NULL が返されます。

このサイトでもサポートされています

于 2013-03-14T18:42:28.610 に答える