Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Outputs the amount of nulls for each column in a table based on its data
- -- Runtime: 2 minutes for 7.5 million rows, YMMV
- DECLARE @tableschema NVARCHAR(MAX);
- DECLARE @tablename NVARCHAR(MAX);
- DECLARE @query NVARCHAR(MAX);
- -- Arguments:
- USE dbname;
- SET @tableschema = 'dbo';
- SET @tablename = '';
- SET @query = (
- SELECT
- 'SELECT DISTINCT '
- + string_agg(
- CAST(
- FORMATMESSAGE(' (
- SELECT COUNT(*)
- FROM %s.%s
- WHERE %s IS NULL
- ) AS %s'
- , table_schema, table_name, column_name, column_name
- )
- as nvarchar(max)
- )
- , ', ')
- + ' FROM ' + table_schema + '.' + table_name
- + ';'
- FROM information_schema.columns
- WHERE TABLE_NAME=@tablename
- AND TABLE_SCHEMA=@tableschema
- GROUP BY table_catalog, table_schema, table_name
- )
- EXECUTE sp_executesql @query;
Advertisement
Add Comment
Please, Sign In to add comment