简体   繁体   中英

how do you check for nulls in any column in an entire table in SQL

I would like to check if any of my columns in a table have any null values. I am sure there is a quicker way than how I am doing it at the moment. I just want to see if there is a NULL in ANY column however my table has a lot of columns, is there a simple and quick way?

This way I have written so far works but it takes a long time to do for every column (hence the etc etc)

  select 
sum(case when id is null then 1 else 0 end) as id, 
sum(case when name is null then 1 else 0 end) as name, 
sum(case when review_count is null then 1 else 0 end) as review_coun,
sum(case when positive_review is null then 1 else 0 end) as 
positive_review, 
sum(etc etc
from user

I don't know if this will work for your scenario, but it's an option. You can CAST all your columns as a string and then concatenate them together. If you concatenate a NULL value with a string, it will return NULL .

SELECT 'Y' 
WHERE EXISTS( -- Check if there are any NULL rows
  SELECT 
    CAST(c1 AS CHAR(1)) || 
    CAST(c2 AS CHAR(1)) || 
    ... 
    AS MyColumns
  WHERE MyColumns IS NULL
)
;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM