在SQL Server数据库的所有表中查找nvarchar(max)类型的所有列
我在stackoverflow上发现了这个问题,几乎回答了我的问题: 但是,我需要找到所有的nvarchar(max)类型的字段。如果我尝试这样做:在SQL Server数据库的所有表中查找nvarchar(max)类型的所有列,sql,sql-server,Sql,Sql Server,我在stackoverflow上发现了这个问题,几乎回答了我的问题: 但是,我需要找到所有的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 [Colum
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'
它不起作用,什么也不归还。如果我尝试这样做:
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)字段?对于
max
,字符的最大长度将为-1
select
table_name as [Table Name]
, column_name as [Column Name]
from information_schema.columns
where data_type = 'nvarchar'
and character_maximum_length=-1
@军团很乐意帮忙!如果我也要打印每个nvarchar字段的最大长度呢?@markzzz您将在
选择中包含字符(最大长度)
,并将其从中删除。我认为您缺少和'nvarchar'
和字符(最大长度)