How do I check if a column exists in SQL Server?
如何检查SQL Server 2000中是否存在列?
1 2 | IF EXISTS ( SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='tablename' AND COLUMN_NAME='columname' ) |
1 2 3 4 | If col_length('table_name','column_name') is null select 0 as Present ELSE select 1 as Present |
现在将是0,没有_目前在_柱名称表名称,否则1
CMS:"I Don’t认为信息_ schema.columns '有一个数据库表。因为这没有为我工作。但我的回答是不。
查询分析器中,SELECT查询数据库中包含的表,你需要检查是否存在或不场和运行下面的查询。
1 2 3 4 5 6 | SELECT count(*) AS [Column Exists] FROM SYSOBJECTS INNER JOIN SYSCOLUMNS ON SYSOBJECTS.ID = SYSCOLUMNS.ID WHERE SYSOBJECTS.NAME = 'myTable' AND SYSCOLUMNS.NAME = 'Myfield' |
我本应该做的:
1 2 3 4 | if COLUMNPROPERTY(object_id('table_name'), 'column_name', 'ColumnId') is null print 'doesn\'t exist' else print 'exists' |
我不知道,如果想在SQLSERVER 2000的工作脚本,但在2008年的作品:
1 2 3 | SELECT COLUMNS.* FROM INFORMATION_SCHEMA.COLUMNS COLUMNS, INFORMATION_SCHEMA.TABLES TABLES WHERE COLUMNS.TABLE_NAME=TABLES.TABLE_NAME AND UPPER(COLUMNS.COLUMN_NAME)=UPPER('column_name') |