SQL Server 2000에 열이 있는지 확인하려면 어떻게합니까?SQL Server에 열이 있는지 확인하려면 어떻게합니까?
24
A
답변
36
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME='tablename' AND COLUMN_NAME='columname')
+1
참조 용 : 이것은 SQL Server 2005에서도 작동합니다 – Russell
+0
이것은 SQL Server 2016에서도 작동합니다.) –
4
쿼리 분석기에서 필드가 있는지 여부를 확인하고 아래 쿼리를 실행해야하는 테이블이있는 데이터베이스를 선택하십시오.
SELECT count(*) AS [Column Exists]
FROM SYSOBJECTS
INNER JOIN SYSCOLUMNS ON SYSOBJECTS.ID = SYSCOLUMNS.ID
WHERE
SYSOBJECTS.NAME = 'myTable'
AND SYSCOLUMNS.NAME = 'Myfield'
8
If col_length('table_name','column_name') is null
select 0 as Present
ELSE
select 1 as Present
은 0입니다 현재, TABLE_NAME에 존재하는 어떤 COLUMN_NAME이없는 그렇지 않으면 1
@CMS이다 : 나는 'INFORMATION_SCHEMA.COLUMNS은'모든 테이블에 대한 정보를 가지고 있다고 생각하지 않는다 DB. 왜냐하면 이것은 나를 위해 일하지 않았기 때문입니다. 하지만 제 대답이 효과가있었습니다. 이 스크립트는 SQLSERVER 2000 년에 작동하는지
if COLUMNPROPERTY(object_id('table_name'), 'column_name', 'ColumnId') is null
print 'doesn\'t exist'
else
print 'exists'
1
이 잘해야의
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')
0
내가 모르겠지만, 2008 개 작품 :
가능한 중복 [어떻게 열 경우 확인 SQL Server 테이블에 존재] (http://stackoverflow.com/questions/133031/how-to-check-if-column-exists-in-sql-server-table) –