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

Développement SQL Server Discussion :

Select d'une date nulle


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2003
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 37
    Par défaut Select d'une date nulle
    Bonjour à tous,

    J'ai une procédure stockée qui fait un delete dans une table selon plusieurs éléments reçus en paramètre, dont deux dates.

    Le problème que je rencontre, c'est que si la date reçue n'est pas nulle, je dois inscrire :

    ... where @date = 'valeur'

    Si la date est nulle, je dois inscrire :

    ... where @date is null

    Je recherche la façon optimale de créer ma requête de sorte que tout cela soit vérifié en même temps et que le comportement adéquat soit adapté en conséquence.

    Merci à l'avance des suggestions que vous pourrez m'apporter.

  2. #2
    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
    Dénullifiez votre date à l'aide de l'opérateur COALESCE.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    where COALESCE(@date, 'valeur') = 'valeur'
    Sur l'opérateur COALESCE et les NULLs lire l'article que j'ai écrit : http://sqlpro.developpez.com/cours/null/

    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/ * * * * *

  3. #3
    Membre averti
    Inscrit en
    Juillet 2003
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 37
    Par défaut
    Un gros merci pour la réponse rapide!

    Entre temps j'avais modifié ma requête ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    ALTER PROCEDURE [dbo].[MaProcedure_sp]
        @ID INT,
        @Value1 VARCHAR(8),
        @Value2 VARCHAR(8),
        @DtDeb DATETIME,
        @DtFin DATETIME
    AS 
        DELETE  FROM [dbo].[Table]
        WHERE   ID = @ID
                AND Value1 = @Value1
                AND Value2 = @Value2
                AND ( ( @DtDeb IS NULL
                        AND DtDeb IS NULL
                      )
                      OR ( DtDeb = @DtDeb )
                    )
                AND ( ( @DtFin IS NULL
                        AND DtFin IS NULL
                      )
                      OR ( DtFin = @DtFin )
                    )
    Merci encore!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XPath]Sélection d'une date d'échéance
    Par virgul dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 01/09/2006, 09h46
  2. Select d'une date en DATETIME
    Par mkaffel dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 03/08/2006, 10h51
  3. Réponses: 4
    Dernier message: 02/08/2006, 08h42
  4. select sur une date de plus de x jour
    Par Zen_Fou dans le forum Requêtes
    Réponses: 4
    Dernier message: 03/04/2006, 17h14
  5. Problème de select sur une date (DATETIME....)
    Par zeldoi5 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 16/05/2005, 11h19

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