我在stackoverflow上发现了这个问题几乎回答了我的问题:在SQL Server数据库的所有表中查找特定类型的所有列
但是我需要专门找到nvarchar(max)类型的所有字段.如果我试试这个:
SELECT table_name [Table Name], column_name [Column Name]
FROM information_schema.columns where data_type = 'nvarchar(max)'
Run Code Online (Sandbox Code Playgroud)
它不起作用,也没有返回任何内容.如果我试试这个:
SELECT table_name [Table Name], column_name [Column Name]
FROM information_schema.columns where data_type = 'nvarchar'
Run Code Online (Sandbox Code Playgroud)
它有效,但有数百个结果,我只关心最大尺寸的字段.如何具体选择所有nvarchar(max)字段?
Sql*_*Zim 12
该character_maximum_length会为-1 max.
select
table_name as [Table Name]
, column_name as [Column Name]
from information_schema.columns
where data_type = 'nvarchar'
and character_maximum_length=-1
Run Code Online (Sandbox Code Playgroud)
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE DATA_TYPE = 'nvarchar' AND CHARACTER_MAXIMUM_LENGTH = -1
Run Code Online (Sandbox Code Playgroud)