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

SQL Oracle Discussion :

Comparaison de date et formatage


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 102
    Points : 47
    Points
    47
    Par défaut Comparaison de date et formatage
    Bonjour,

    Je développe une application de gestion de réunion en Coldfusion avec une DB Oracle.
    Chaque réunion est liée à une unité(ORG_ID).
    Je suis en train d'exécuter des requêtes sur des champs dates et je n'arrive pas à résoudre mon problème:

    J'ai 2 tables avec des champs de type date: DD/MM/YYYY

    Mes tables :

    Table UNITS: ORG_ID (PK) - ORG_CD - DT_DEB - DT_FIN
    Table REUNION: REUN_ID (PK) - TITLE - DATECREA - ORG_ID

    La requête pour récupérer la date de création de la réunion:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TO_DATE(DATECREA,'DD/MM/YYYY') AS DATECREA
    FROM REUNION R
    WHERE R.REUN_NUMRREUN = 45533
    Le résultat obtenu: 30/05/2010

    La requête pour récupérer les dates de début et de fin de toutes les versions de l'unité de la réunion:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT ORG_CD, TO_DATE(DT_DEB,'DD/MM/YYYY') as DT_DEB, TO_DATE(DT_FIN,'DD/MM/YYYY') AS DT_FIN
    FROM UNITS 
    WHERE ORG_ID = 231057
    Les résultats:

    DT_DEB DT_FIN
    16/09/2005 29/04/2009
    30/04/2009 30/06/2010
    01/07/2010 31/12/2011

    J'ai besoin d'effectuer la requête suivante dans mon code pour récupérer la bonne version de l'unité avec laquelle la reunion a été créée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <cfquery name="qry_existInAppref" datasource="#application.datasource#">
    	SELECT ORG_CD
    	FROM UNITS
    	WHERE ORG_ID = <cfqueryparam value="#arguments.org_id#" null="no" cfsqltype="cf_sql_numeric"/>
    	AND TO_DATE(DT_DEB,'DD/MM/YYYY') > TO_DATE('#qry_reunion.DATECREA#','DD/MM/YYYY')
    	AND TO_DATE(DT_FIN,'DD/MM/YYYY') < TO_DATE('#qry_reunion.DATECREA#','DD/MM/YYYY')
    </cfquery>
    J'obtiens l'erreur suivante après exécution du script cfm: ORA-01861: literal does not match format string\nORA-02063
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT * FROM UNITS_NOT_IN_APPREF 
    WHERE ORG_ID = (param 1) 
    AND TO_DATE(DT_DEB,'DD/MM/YYYY') < TO_DATE('2010-05-30 00:00:00.0','DD/MM/YYYY') 
    AND TO_DATE(DT_FIN,'DD/MM/YYYY') > TO_DATE('2010-05-30 00:00:00.0','DD/MM/YYYY')
    Je n'arrive pas à résoudre cela alors que les champs dates sont tous du même format

    Pourriez-vous m'aider?

  2. #2
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Bonjour

    Les champs DT_DEBUT et DT_FIN sont-ils de type DATE ou VARCHAR ?
    Bien le bonjour chez vous
    Jowo

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 802
    Points
    30 802
    Par défaut
    Le mesage d'erreur correspond à l'expression : TO_DATE('2010-05-30 00:00:00.0','DD/MM/YYYY').
    Et en effet, le format de la date ne correspond pas au modèle attendu qui devrait être ici 'DD-MM-YYYY HH24:MI:SS.FF1'.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  4. #4
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 102
    Points : 47
    Points
    47
    Par défaut
    Citation Envoyé par jowo Voir le message
    Bonjour

    Les champs DT_DEBUT et DT_FIN sont-ils de type DATE ou VARCHAR ?
    Les champs sont de type date.

    Merci pour votre aide

  5. #5
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Bonjour,

    Pourquoi alors convertir des champs de type date en date avec la fonction TO_DATE ?
    Bien le bonjour chez vous
    Jowo

Discussions similaires

  1. comparaison de dates javascript
    Par SpaceFrog dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/07/2005, 08h45
  2. comparaison de dates
    Par pmithrandir dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/06/2005, 16h12
  3. comparaison de date
    Par nickoshiba dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 15/03/2005, 15h48
  4. Comparaison de dates
    Par Tapioca dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/06/2004, 15h55
  5. Problème de comparaison de dates
    Par MiJack dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/03/2004, 21h43

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