banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oubliĂ© ?

#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Ă©.  big_smile

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

 

Pied de page des forums

Copyright Association GeoRezo