在SQL Server数据库

时间:2017-02-22 21:57:23

标签: sql sql-server

我在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)字段?

2 个答案:

答案 0 :(得分:10)

character_maximum_length的{​​{1}}为-1。

max

答案 1 :(得分:3)

SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE DATA_TYPE = 'nvarchar' AND CHARACTER_MAXIMUM_LENGTH = -1