Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQL Server数据库的所有表中查找nvarchar(max)类型的所有列_Sql_Sql Server - Fatal编程技术网

在SQL Server数据库的所有表中查找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

我在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 [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'
字符(最大长度)