我在stackoverflow上发现这个问题几乎回答了我的问题:Find all columns of a certain type in all tables in a SQL Server database
但是我需要专门找到nvarchar(max)类型的所有字段。如果我试试这个:
SELECT table_name [Table Name], column_name [Column Name]
FROM information_schema.columns where data_type = 'nvarchar(max)'
它不起作用,也没有返回任何内容。如果我试试这个:
SELECT table_name [Table Name], column_name [Column Name]
FROM information_schema.columns where data_type = 'nvarchar'
它有效,但有数百个结果,我只关心最大尺寸的字段。如何具体选择所有nvarchar(max)字段?
答案 0 :(得分:10)
character_maximum_length
的{{1}}为-1。
max
答案 1 :(得分:3)
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE DATA_TYPE = 'nvarchar' AND CHARACTER_MAXIMUM_LENGTH = -1