Как проверить, существует ли столбец в SQL Server?

Как проверить, существует ли столбец в SQL 9X_mssql Server 2000?

27
1

  • возможный дубликат [Как проверить, существует ли столбец в таблице SQL Server] (http://stackoverflow.c ...
4
Общее количество ответов: 4

Ответ #1

Ответ на вопрос: Как проверить, существует ли столбец в SQL Server?

IF EXISTS ( SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE  TABLE_NAME='tablename' AND COLUMN_NAME='columname' )

9X_metadata

39
0

Ответ #2

Ответ на вопрос: Как проверить, существует ли столбец в SQL Server?

If col_length('table_name','column_name') is null
    select 0 as Present
ELSE
    select 1 as Present

Present будет 0, если в table_name нет column_name, иначе 9X_mssql 1

@CMS: Я не думаю, что в INFORMATION_SCHEMA.COLUMNS 9X_sql-server есть информация о каждой таблице в БД. Потому 9X_table-structure что у меня это не сработало. Но мой ответ 9X_table-structure сработал.

9
0

Ответ #3

Ответ на вопрос: Как проверить, существует ли столбец в SQL Server?

В анализаторе запросов выберите базу данных, содержащую 9X_sql-srever таблицу, в которой нужно проверить, существует 9X_ms-sql-server ли поле, и выполните запрос ниже.

SELECT count(*) AS [Column Exists] 
FROM SYSOBJECTS  
INNER JOIN SYSCOLUMNS ON SYSOBJECTS.ID = SYSCOLUMNS.ID 
WHERE 
 SYSOBJECTS.NAME = 'myTable' 
 AND SYSCOLUMNS.NAME = 'Myfield'

5
0

Ответ #4

Ответ на вопрос: Как проверить, существует ли столбец в SQL Server?

Это должно быть хорошо:

if COLUMNPROPERTY(object_id('table_name'), 'column_name', 'ColumnId') is null
  print 'doesn\'t exist'
else
  print 'exists'

9X_ms-sql-server

2
0