找到sql server中的所有varchar()字段?

JD.*_*JD. 15 sql-server

是否可以在我的数据库中找到所有varchar()列?

我正在使用SQL Server 2008,并希望获得SQL Server管理控制台中的列表.

JD.

Blo*_*ard 35

是的,这应该工作:

select * from INFORMATION_SCHEMA.COLUMNS
where DATA_TYPE = 'varchar'
Run Code Online (Sandbox Code Playgroud)


SQL*_*ace 23

试试,这将给varchar和nvarchar,如果character_maximum_length列返回-1那么它是varchar(max)或nvarchar(max)

select * from 
INFORMATION_SCHEMA.COLUMNS
where DATA_TYPE in('varchar','nvarchar')
Run Code Online (Sandbox Code Playgroud)