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

Langage SQL Discussion :

transformation de date en chaine


Sujet :

Langage SQL

  1. #1
    Membre habitué
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Par défaut transformation de date en chaine
    bonjour à tous.

    lorsque je fait un select current_date from...

    j'obtiens un 2009-07-27 que j'aimerai comparé au champ date de la table qui est lui de la forme 20090727

    Mes connaissances limité en gestion de chaines de caractère en SQL ne me permettent pas une telle prouesse. Pourriez vous m'aider.

    merci.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Par défaut
    Si la colonne date de ta table est déclarée en type date, la comparaison pourra se faire quand même. Le format de la date n'est qu'une notion d'affichage.

  3. #3
    Membre habitué
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Par défaut
    j'ai ça dans mes conditions

    Where table.champ < current_date

    et il me met comme erreur "comparision operator < operand not compatible"...
    voila tout ce que je peux dire.

    Merci en tout cas de ta vélocité de réponse.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Par défaut
    Quel est ton SGBD?

  5. #5
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 134
    Par défaut
    Quel est le type de la colonne qui contient ta date ?
    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.

  6. #6
    Membre habitué
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Par défaut
    aucune idée...

    AS400 ça va comme réponse . je ne crois pas... je ne peux pas en dire plus. c'est peut etre l'ERP qui fait SGBD mais c'est un truc assez vieux. pour dire ils appellent ça des fichiers et pas des tables...

    mais ça marche en grande partie pareil.

    merci

  7. #7
    Membre habitué
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Par défaut
    Le type de ma colonne c'est un nombre à 8 chiffre dont 0 décimales.

    P(8,0) c'est écrit.

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Par défaut
    Tu peux pas comparer un nombre à une date, il faut donc convertir ton nombre en date.
    Si j'en crois ce lien, tu peux essayer avec la fonction date, assez contraignante vu qu'il faut lui présenter la chaine de caractère sous la forme yyyy-mm-dd.
    Ca donnerait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Where concat(concat(concat(substr(table.champ,1,4),'-'),concat(substr(table.champ,5,2),'-')),substr(table.champ,7,2)) < current_date
    Tu peux toujours essayer to_date, ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE TO_DATE(table.champ, 'YYYYDDMM') < current_date

Discussions similaires

  1. Transformer des dates SAS en chaines
    Par Invité dans le forum SAS Base
    Réponses: 1
    Dernier message: 10/09/2014, 17h41
  2. [Débutant] Verifier le format d'une date en chaine et la transformer
    Par shaun_the_sheep dans le forum C#
    Réponses: 4
    Dernier message: 19/11/2012, 18h23
  3. transformer une date en chaine
    Par niko8181 dans le forum Webi
    Réponses: 2
    Dernier message: 29/09/2009, 13h09
  4. Réponses: 3
    Dernier message: 20/09/2005, 09h01
  5. Transformation de date dans une procédure stockée
    Par bd0606 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 27/10/2003, 11h31

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