Try this, it is not the most accurate, but it will work, just set it @Tableto the name of your table.
DECLARE @Table AS VARCHAR(100)
SET @Table = 'Example'
DECLARE @TempColumn VARCHAR(100)
DECLARE @Sql NVARCHAR(300)
DECLARE @HasNoNulls INT
CREATE TABLE
ColumnName VARCHAR(100)
)
DECLARE ColumnCursor CURSOR FOR
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.Columns
WHERE TABLE_NAME = @Table
OPEN ColumnCursor
FETCH NEXT FROM ColumnCursor
INTO @TempColumn
WHILE @@FETCH_STATUS = 0
BEGIN
SET @SQL = 'SELECT @HasNoNullsOut = COUNT(*) FROM ' + @Table + ' WHERE ' + @TempColumn + ' IS NOT NULL'
PRINT @SQL
EXECUTE sp_executesql @SQL, N'@HasNoNullsOut int OUTPUT', @HasNoNullsOut=@HasNoNulls OUTPUT
IF @HasNoNulls > 0
BEGIN
INSERT INTO
VALUES(@TempColumn)
END
FETCH NEXT FROM ColumnCursor
INTO @TempColumn
END
CLOSE ColumnCursor
DEALLOCATE ColumnCursor
SELECT * FROM
DROP TABLE
source
share