web-dev-qa-db-ja.com

SQL Server:列のデータ型の確認

テーブルの列に特定のデータ型があるかどうかを確認するにはどうすればよいですか?

たとえば、SQL Serverテーブルの列がデータ型char(11)であるかどうかを確認する方法を教えてください。

14
user1274655
select COLUMN_NAME 
from INFORMATION_SCHEMA.COLUMNS
where DATA_TYPE = 'char'
and CHARACTER_MAXIMUM_LENGTH = 11
and TABLE_NAME = 'your_table'

syscolumnsを使用:

SELECT name FROM SYSCOLUMNS
where length = 11
and xtype = 175 --char type
19
juergen d
select case when DATA_TYPE= 'char' then 'T' else 'F' end,    
case when CHARACTER_MAXIMUM_LENGTH = 11 then 'T' else 'F' end    
from INFORMATION_SCHEMA.COLUMNS     
where COLUMN_NAME = 'MY_COLUMN_NAME'     
and TABLE_NAME = 'MY_TABLE_NAME'
3
Sushil