本文介紹了僅選擇具有空值的列的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
如何選擇表中僅包含所有行的空值的所有列?我使用的是MS SQL Server 2005。我正在嘗試找出表中未使用的列,以便刪除它們。
推薦答案
以下是SQL2005或更高版本:將ADDR_ADDRESS替換為您的表名稱。
declare @col varchar(255), @cmd varchar(max)
DECLARE getinfo cursor for
SELECT c.name FROM sys.tables t JOIN sys.columns c ON t.Object_ID = c.Object_ID
WHERE t.Name = 'ADDR_Address'
OPEN getinfo
FETCH NEXT FROM getinfo into @col
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @cmd = 'IF NOT EXISTS (SELECT top 1 * FROM ADDR_Address WHERE [' + @col + '] IS NOT NULL) BEGIN print ''' + @col + ''' end'
EXEC(@cmd)
FETCH NEXT FROM getinfo into @col
END
CLOSE getinfo
DEALLOCATE getinfo
這篇關于僅選擇具有空值的列的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,