Pages: 1
- Sujet précédent - PGSQL: select ttes les lignes d'une table avec valeurs NULL ou vides - Sujet suivant
#1 Thu 06 April 2023 10:39
- SylvaDEES
- Participant actif
- Date d'inscription: 12 Jul 2012
- Messages: 86
PGSQL: select ttes les lignes d'une table avec valeurs NULL ou vides
Bonjour,
je tente de trouver une requĂȘte ( un simple SELECT * FROM.... WHERE )
permettant de sélectionner toutes les lignes d'une table comportant des valeurs NULL ou vides.
Ce derniÚre semble simple, mais je ne parviens pas à trouver la rédaction adaptée
dans la littérature sql existante.
Merci d'avance pour vos contributions.
Géomatiquement.
Hors ligne
#2 Thu 06 April 2023 11:32
- Sylvain M.
- Participant assidu
- Lieu: Saint-Pierre-des-Nids (53)
- Date d'inscription: 8 Sep 2005
- Messages: 1044
Re: PGSQL: select ttes les lignes d'une table avec valeurs NULL ou vides
toutes les lignes d'une table comportant des valeurs NULL ou vides.
Dans un champ particulier ? Dans plusieurs champs ?
Pour un champ particulier, voici la requĂȘte :
Code:
SELECT * FROM MaTable WHERE MonChamp IS NULL OR MonChamp = ''
Sylvain M.
Hors ligne
#3 Wed 23 July 2025 13:36
- SylvaDEES
- Participant actif
- Date d'inscription: 12 Jul 2012
- Messages: 86
Re: PGSQL: select ttes les lignes d'une table avec valeurs NULL ou vides
Bonjour,
merci pour votre réponse et désolé pour mon retour plus que tardif.
Je reprĂ©cise ma recherche : je tente de trouver une requĂȘte ( ou une fonction, procĂ©dure...)
permettant de lister toutes les valeurs NULL ou vides contenues dans une table,
SANS distinction de champs/ colonne
Ce derniÚre semble simple, mais je ne parviens pas à trouver la rédaction adaptée
dans la littérature sql existante.
Merci d'avance pour vos contributions.
Géomatiquement.
Dernière modification par SylvaDEES (Wed 23 July 2025 15:24)
Hors ligne
#4 Wed 23 July 2025 15:32
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1226
Re: PGSQL: select ttes les lignes d'une table avec valeurs NULL ou vides
Il n'y a pas de moyens tout fait pour rĂ©aliser ce que vous voulez. Vous pouvez nĂ©anmoins construire la requĂȘte pour arriver Ă ce que vous voulez avec la requĂȘte suivante :
Code:
SELECT
'SELECT * FROM mon_schema.ma_table WHERE ' ||
string_agg(
quote_ident(column_name) ||
' is null or trim(' ||
quote_ident(column_name) || ') = ' ||
quote_literal(''),
' or ')
FROM
information_schema.columns
WHERE
table_schema = 'mon_schema'
AND table_name = 'ma_table' and data_type ~* '(character|text)'
;Vous pouvez ensuite executer la requĂȘte gĂ©nĂ©rĂ©e.
Dernière modification par tumasgiu (Wed 23 July 2025 15:33)
Hors ligne
#5 Tue 29 July 2025 13:58
- SylvaDEES
- Participant actif
- Date d'inscription: 12 Jul 2012
- Messages: 86
Re: PGSQL: select ttes les lignes d'une table avec valeurs NULL ou vides
Bonjour,
merci pour votre rĂ©ponse et votre contribution, c'est en effet un bon moyen d'automatiser la rĂ©daction de la requĂȘte.
Ma table stocke des centaines de milliers de points de relevés topographiques sur lesquels je dois automatiser un maximum de contrÎles qualité de la donnée : je vais créer ou ajouter une procédure stockée sur le schémas concerné. ![]()
Question de bĂ©otien en programmation sql-psql N'y a-t-il pas moyen d'obtenir le mĂȘme rĂ©sultat avec un programme- fonction psql Ă base de curseurs ( open > loop > fetch > end loop > close > End ) ?
Géomatiquement.
Dernière modification par SylvaDEES (Tue 29 July 2025 14:18)
Hors ligne
#6 Tue 29 July 2025 14:11
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1226
Re: PGSQL: select ttes les lignes d'une table avec valeurs NULL ou vides
C'est tout Ă fait possible.
Maintenant si votre souçi c'est d'imposer une qualité à votre donnée comme par exemple interdire les champs NULL ou vide, les contraintes et triggers sont fait exactement pour çà .
Dernière modification par tumasgiu (Tue 29 July 2025 14:13)
Hors ligne
#7 Tue 29 July 2025 14:24
- SylvaDEES
- Participant actif
- Date d'inscription: 12 Jul 2012
- Messages: 86
Re: PGSQL: select ttes les lignes d'une table avec valeurs NULL ou vides
c'est bien noté, je vais évaluer la pertinence de la mise en oeuvre d'un trigger ou d'une contrainte sur cette table.
Je pencherais plus pour un Trigger car le contrÎle qualité se fait, pour le moment, en post - intégration de données pour retour de non conformité
auprÚs des prestataires ( schémas et table postgressql distante du prestataire, en base à base via un foreign Data Wrapper ).
Merci pour vos précieux conseils.
Hors ligne
Pages: 1
- Sujet précédent - PGSQL: select ttes les lignes d'une table avec valeurs NULL ou vides - Sujet suivant

