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 :

[SQL 9i ] format de date dans un where


Sujet :

Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juin 2002
    Messages : 66
    Points : 57
    Points
    57
    Par défaut [SQL 9i ] format de date dans un where
    bonjour, je fais une requete sur une date

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select * from toto where toto_date = to_date('13/10/2005','DD/MM/YYYY')
    mais malheureusement ma date est celle ci => 13/10/2005 06:45:15

    donc du fait de la présence de l'heure dans ma date il ne me le trouve pas ...
    vous auriez pas un moyen peu couteux ?
    j'ai tenté en faisant un to_char sur toto_date = '13/10/2005', ça marche mais mon cout monte à plus de 3000 (pour 1 300 000 enregs), c'est une table qui augmente de 16 000 enregistrements / jours et les utilisateurs accèdent assez frequemment à cette table, je ne peut donc pas me permettre des temps d'execution trop longs

    Merci d'avance

  2. #2
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from toto where trunc (toto_date) = to_date('13/10/2005','DD/MM/YYYY')
    NB : pense aux balises codes sinon les messieurs rouge vont te réprimander
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juin 2002
    Messages : 66
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par plaineR
    Essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from toto where trunc (toto_date) = to_date('13/10/2005','DD/MM/YYYY')
    NB : pense aux balises codes sinon les messieurs rouge vont te réprimander
    lol pour les balises code c'est fait

    sinon bah avec le trunc ça donne la meme chose qu'avec le to_char, j'ai mon cout à + de 3000 et ça met une bonne seconde , juste pour un enreg, sachant que je vais devoir aller en chercher 5000 parfois ....
    je vais continuer de creuser pour trouver une solution ....

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juin 2002
    Messages : 66
    Points : 57
    Points
    57
    Par défaut
    bon bah la seule solution qui exlose pas trop mon cost c'est de faire un between mais bon .... je suis pas convaincu par cette methode ...



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select * from toto where toto_date between to_date('13/10/2005 00:00:00','DD/MM/YYYY HH24:MI:SS') and to_date('13/10/2005 23:59:59','DD/MM/YYYY HH24:MI:SS')
    ...

    je laisse le sujet ouvert au cas où ....

    lol

  5. #5
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Tu peux toujours créer un index de fonction sur trunc (toto_date)
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juin 2002
    Messages : 66
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par plaineR
    Tu peux toujours créer un index de fonction sur trunc (toto_date)
    ok bah j'vai voir...
    je vais surtout voir avec l'analyse et mes collègues si l'heure est vraiment obligatoire ....
    Je vais commencer par le plus simple

    Merci à tous pour vos réponses

    Alex

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

Discussions similaires

  1. Changer le format des dates dans une requête SQL
    Par Tazze-99 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 23/07/2012, 15h09
  2. Format date dans clause Where
    Par aurelie83 dans le forum DB2
    Réponses: 5
    Dernier message: 06/01/2009, 20h48
  3. format de date dans un ctl SQL*Loader
    Par pdupuis dans le forum Oracle
    Réponses: 2
    Dernier message: 05/09/2006, 09h30
  4. [SQL INTERBASE] format de date dans une requete sql
    Par arnolpourri dans le forum InterBase
    Réponses: 5
    Dernier message: 03/07/2006, 11h42
  5. format de date dans SQL/serv 2000
    Par philo71 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 20/10/2005, 15h52

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