IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes PostgreSQL Discussion :

Equivalent du select if de mysql


Sujet :

Requêtes PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 36
    Par défaut Equivalent du select if de mysql
    Bonjour,

    Je voudrais savoir quel est l'équivalent du "select if" de mysql, s'il existe.

    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	SELECT IF(COUNT(*)>0, 'NOK', 'OK') AS retour
    	FROM transaction 
    	WHERE succes='NON'
    	AND date_transaction < NOW() - INTERVAL 30 MINUTE
    	AND date_transaction < NOW()
    Mon but est de transformer une valeur égale à zero, par un vide/null, mais que dans la requete SELECT. Je ne veux pas que ma base soit modifiée.

    Merci

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select case count(*)>0 when true then 'NOK' else 'OK' end as retour
    FROM ...

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 010
    Billets dans le blog
    6
    Par défaut
    Plus simple, utilisez la fonction normative NULLIF :

    Extrait de la doc PG :
    "
    9.16.3. NULLIF

    NULLIF(valeur1, valeur2)

    La fonction NULLIF renvoie une valeur NULL si valeur1 et valeur2 sont égales ; sinon, elle renvoie valeur1.
    "

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Equivalent de Selection Start pour netscape.
    Par Death83 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/03/2006, 11h10
  2. Equivalent a fonction DATEDIFF pour MySQL version 3.23
    Par npze dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 31/10/2005, 11h18
  3. SELECT COUNT et MySQL
    Par elagarde dans le forum Requêtes
    Réponses: 3
    Dernier message: 16/10/2005, 15h01
  4. Equivalent du Select * from ::Fn_Fonction()
    Par WOLO Laurent dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 09/07/2004, 09h48
  5. equivalent de select nextval from dual en SQL-Server ?
    Par toze dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/10/2003, 09h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo