Soru SQL Server'da bir sütun olup olmadığını nasıl kontrol edebilirim?


SQL Server 2000'de bir sütun olup olmadığını nasıl kontrol ederim?


24
2017-10-24 05:40


Menşei


olası kopyası SQL Server tablosunda sütun olup olmadığını nasıl kontrol edilir - Danny Varod


Cevaplar:


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

36
2017-10-24 05:46



Başvuru için: Bu, SQL Server 2005'te de çalışır. - Russell
Bu ayrıca SQL Server 2016'da çalışır;) - Saman Gholami


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

Mevcut 0 olacak, aksi halde table_name içinde hiç sütun_adı yok, 1

@CMS: Ben 'INFORMATION_SCHEMA.COLUMNS' DB'deki her tablo hakkında bilgi sahibi olduğunu sanmıyorum. Çünkü bu benim için işe yaramadı. Ama cevabım işe yaradı.


8
2017-08-31 21:02





Sorgu analizöründe, alanın mevcut olup olmadığını kontrol etmeniz ve aşağıdaki sorguyu çalıştırmanız gereken tabloyu içeren Veritabanını seçin.

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

4
2017-10-24 06:03





Bu güzel yapmalı:

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

1
2018-04-29 15:02





Bu betiğin sqlserver 2000'de çalışıp çalışmayacağını bilmiyorum, ama 2008'de çalışıyor:

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
2017-09-30 13:04