texto - reemplazar null por cero sql
Encontrar columnas que NO sean NULL en PostgreSQL (1)
Tenía una asignación para cada tabla para contar las columnas que aceptan nulos. Fácil:
SELECT table_name, count(*) FROM INFORMATION_SCHEMA.COLUMNS
WHERE is_nullable=''NO''
GROUP BY table_name;
Ahora tengo que modificar esto para contar "columnas que tienen la propiedad" NOT NULL "". ¿El siguiente código hará esto o solo verificará que el nombre de la columna del tiempo no sea nulo?
CREATE TEMP TABLE A AS
SELECT DISTINCT column_name, table_name AS name FROM INFORMATION_SCHEMA.COLUMNS
WHERE column_name IS NOT NULL
GROUP BY table_name, column_name;
SELECT name, count(*) FROM A
GROUP BY name;
Si no ... ¿Algún consejo?
No.
Esta consulta
SELECT DISTINCT column_name, table_name
FROM INFORMATION_SCHEMA.COLUMNS
WHERE column_name IS NOT NULL
devolverá todas las filas que tengan un valor en la columna "column_name".
Todas las filas en esa tabla siempre tendrán un valor en la columna "column_name".
¿Necesita saber cuántas columnas son anulables y cuántas no admiten nulos?
SELECT is_nullable, COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
GROUP BY is_nullable;
¿Cuenta por nombre de tabla? Creo que puedes usar esto.
SELECT table_name, is_nullable, count(*)
FROM INFORMATION_SCHEMA.COLUMNS
GROUP BY table_name, is_nullable
ORDER BY table_name, is_nullable;