2017-02-22 84 views
2

我發現計算器這個問題,幾乎回答我的問題:Find all columns of a certain type in all tables in a SQL Server database查找所有表中的類型爲nvarchar(最大)的所有列在SQL Server數據庫

但我需要找到類型爲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)字段?

回答

4

character_maximum_length對於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 
+0

這工作,謝謝! – Legion

+0

@Legion樂意幫忙! – SqlZim

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

我想你在''nvarchar''和'CHARACTER_MAXIMUM_LENGTH'之間缺少'AND' – Legion

相關問題