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

Oracle Discussion :

[oracle] [sql] Dates null


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Par défaut [oracle] [sql] Dates null
    Bonjour,

    J'ai actuellement une base qui peut contenir un champ fin de type date qui vaut null (j'y mets null lors de l'insertion) et un champ debut de type date jamais null.

    Or j'execute ces deux requetes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select * from on_vuevigile_jour 
    where to_char(debut,'DD/MM/YYYY')<>to_char(sysdate,'DD/MM/YYYY')
    qui me renvoie moultes lignes, et ensuite celle ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * from on_vuevigile_jour 
    where to_char(debut,'DD/MM/YYYY')<>to_char(sysdate,'DD/MM/YYYY') 
    and fin<>null;
    qui ne me renvoie rien (aucune ligne selectionnee) alors que j'ai des lignes qui correspondent à ces contraintes.
    Comment comparer mon champ fin à null si ce n'est comme ça ?

    Merci

    Fred

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    La bonne syntaxe est:

    select * from on_vuevigile_jour
    where to_char(debut,'DD/MM/YYYY')<>to_char(sysdate,'DD/MM/YYYY')
    and fin is not null;

  3. #3
    Membre éprouvé
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Par défaut
    Ca fonctionne merci beaucoup

    Fred

  4. #4
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Par défaut
    Je ne comprends pas bien la façon dont tu gères la date de fin, en général c'est plutôt la condition qui est utilisée...

  5. #5
    Membre éprouvé
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Par défaut
    bah c'est une gestion d'incidents. Un incident peut ne pas avoir de date de fin. Or en parallèle je developpe une application JSP de gestion de ces incidents. J'ai donc une table "de vue" et une table histo. Il faut donc que j'épure ma table "de vue", lorsque l'incident a une date de fin et qu'il n'a pas commencé aujourd'hui, on le passe dans histo et on le supprime de la table "de vue"

    Fred

  6. #6
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Par défaut
    Ok, j'avais en tête une date de validité.

    Est-ce que tu n'aurais pas intérêt à utiliser
    where debut < trunc(sysdate)
    ce qui permettra au moteur d'utiliser un index sur debut (maintenant ta volumétrie ne justifie peut-être pas un index...) et de calculer le to_char pour toutes les lignes de la table.

  7. #7
    Membre éprouvé
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Par défaut
    si je fais comme ca tu as raison. J'avais juste un gros doute sur les comparaisons de date sous oracle (et sql en fait).
    Je suis un peu débutant dans les DB

    Fred

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

Discussions similaires

  1. Oracle 9.2 : Importation et champ date NULL
    Par mimil77210 dans le forum Oracle
    Réponses: 16
    Dernier message: 17/04/2008, 15h25
  2. oracle- sql date
    Par coolmek dans le forum SQL
    Réponses: 1
    Dernier message: 03/04/2008, 20h11
  3. Réponses: 1
    Dernier message: 27/03/2007, 10h23
  4. selection enreg date null (Oracle)
    Par sgcb01 dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 08/02/2007, 09h48
  5. [oracle/sql]pour de type DATE
    Par CROSS dans le forum Oracle
    Réponses: 3
    Dernier message: 18/12/2006, 16h09

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