sql >> データベース >  >> RDS >> Sqlserver

SQL:NULL値のみの列を選択します

    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
    


    1. データベースメールアカウント(SSMS)を削除する

    2. Where句内のIfステートメント

    3. クロウの足の表記

    4. 別の列のフィルターに基づいて列を更新する方法