PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Trovare colonne che NON sono NULL in PostgreSQL

No.

Questa domanda

SELECT DISTINCT column_name, table_name
FROM INFORMATION_SCHEMA.COLUMNS
WHERE column_name IS NOT NULL

restituirà tutte le righe che hanno un valore nella colonna "nome_colonna".

Tutte le righe di quella tabella avranno sempre un valore nella colonna "nome_colonna".

Hai solo bisogno di sapere quante colonne sono annullabili e quante non sono annullabili?

SELECT is_nullable, COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
GROUP BY is_nullable;

Contare per nome della tabella? Penso che tu possa usarlo.

SELECT table_name, is_nullable, count(*)
FROM INFORMATION_SCHEMA.COLUMNS
GROUP BY table_name, is_nullable
ORDER BY table_name, is_nullable;