检查列是否存在且是否为特定类型

时间:2017-11-29 13:00:03

标签: sql-server

目前我编写了一些脚本来检查列是否存在。但是,我还需要检查列是否属于特定类型(在本例中为UniqueIdentifier)。

IF COL_LENGTH('Comments', 'Id1') IS NULL
BEGIN
    ALTER TABLE Comments
    ADD Id1 int null
END
GO

那么我怎样才能在IF语句中查看UniqueIdentifier数据类型

1 个答案:

答案 0 :(得分:2)

我会这样做

IF COL_LENGTH('Comments', 'Id1') IS NULL AND 'Uniqueidentifier' IN (
SELECT data_type
FROM information_schema.Columns
WHERE table_name = 'Comments' AND 
  column_name = 'Id1')
BEGIN 
  ALTER TABLE Comments
  ADD Id1 int null
END
GO