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

Requêtes PostgreSQL Discussion :

Plage de date formatée avec to_char pas prise en compte


Sujet :

Requêtes PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Réunion

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2020
    Messages : 2
    Par défaut Plage de date formatée avec to_char pas prise en compte
    Messieurs Dames bonjour,

    D'habitude je trouve réponse ici dans les forums, mais ce cas-ci me pose problème et je n'arrive pas à trouver de réponse sur le sujet (ou peut-être que je n'arrive pas à l'expliquer clairement)

    Je fais une requête sur une plage de date comme ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    select
    	id,
    	"date",
    	heure
     
    from my_table_ultime
     
    where "date" between to_char(date '03/02/2020', 'dd/mm/yy') and to_char(date '03/02/2020', 'dd/mm/yy')
    order by id desc
    j'avais aussi essayé cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    select
    	id,
    	"date",
    	heure
     
    from my_table_ultime
     
    where "date" >= to_char(date '03/02/2020', 'dd/mm/yy')
    and "date" <= to_char(date '03/02/2020', 'dd/mm/yy')
    order by id desc
    cette requête fonctionne seulement si la plage de date est identique (c'est à dire comme dans l'exemple la date 1 est identique à la date 2).

    Si j'élargis ma plage, le résultat prend toutes les dates qui existes dans la table.

    le format de mes colonnes :

    id(int)
    date(varchar(10))
    heure(varchar(30))
    Je dois réaliser un formatage de la date par to_char car la date ici en dur sera issu d'un formulaire php et que dans ma base de donnée pour na pas faire simple, les années sont sur 2 caractères...

    Du coups, je ne sais pas si c'est à cause du to_char que cela plante, ou du fait que le format de la date dans la table soit du varchar... dois-je encapsuler la date par une autre fonction ? ou peut-être que ma colonne date s'appelle date et est considéré comme une fonction par l'interpréteur ... je ne sais pas.

    Je sollicite votre aide.

    Bien cordialement.

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 059
    Par défaut
    Bonjour,

    Si c'est une plage de dates que vous voulez, la fonction à utiliser est to_date(). Parce que pour le moment, vous avez une plage de chaînes de caractères, ce qui, effectivement, ne doit pas donner le résultat souhaité...

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Réunion

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2020
    Messages : 2
    Par défaut
    Bonjour,

    Merci de votre réponse rapide.

    J'ai pu en effet chercher dans ce sens avec la fonction to_date.

    J'ai dû modifier un peu la requête et passer par une imbrication car je ne pouvais pas récupérer le nom de la colonne dans mon filtre par la suite...

    Du coup ceci fonctionne :

    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
    select
    	*
    from
    	(
    	select
    		id,
    		to_date(date, 'dd/mm/yy') as date_col,
    		heure,
    		set_volt,
    		set_frq,
    		act_amp,
    		act_volt,
    		act_frq
    	from
    		my_table_ultime )as collecte
    where
    	collecte.date_col >= '03/02/2020'
    	and collecte.date_col <= '04/02/2020'
    order by
    	id desc

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

Discussions similaires

  1. XML avec XSLT et CSS : la CSS n'est pas prise en compte -> ?
    Par souffle56 dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 03/05/2011, 00h03
  2. [XL-2007] date format avec anciennes versions
    Par frederic67 dans le forum Excel
    Réponses: 2
    Dernier message: 18/11/2009, 13h35
  3. [MySQL] récupérer une date formatée avec MySql
    Par stolx_10 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 08/06/2007, 10h57
  4. Annulation pas prise en compte
    Par Anduriel dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 16/10/2005, 12h56
  5. [XSL] Mes entités ne sont pas prises en compte
    Par trent94 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 04/07/2005, 18h49

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