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 :

C'est possible dans une requête SELECT ?


Sujet :

Langage SQL

  1. #1
    Membre du Club Avatar de Kokito
    Homme Profil pro
    Inscrit en
    Février 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2004
    Messages : 78
    Points : 56
    Points
    56
    Par défaut C'est possible dans une requête SELECT ?
    Bonjour à tous

    Voilà, je suis sous SQL Server, et j'ai un champ VARCHAR(220) comme ça :

    2005/01/12-2005/03/20-2005/04/11-2005/04/15-

    Est-il possible de récupérer les 2 dernières dates de cette ligne en SQL ? et en sachant que le nombre de dates est variable (toujours par nombre pair)?

    Car je me vois vraiment mal récupérer toutes les lignes de la base et les traiter, je pense que ca serait bien lourd donc si il existe une solution ...

    Merci de votre aide

  2. #2
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Points : 1 281
    Points
    1 281
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select right(tonChamp,21) as toto FROM tatable

  3. #3
    Expert éminent
    Homme Profil pro
    Big Data / Freelance EURL
    Inscrit en
    Mars 2003
    Messages
    2 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Big Data / Freelance EURL

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 124
    Points : 7 291
    Points
    7 291
    Par défaut
    N'aurait-il pas mieux valu qu'il y ait une relation 1-n vers une table d'historisation des dates ?

    C'est un peu de la bidouille de mettre les dates à la suite des autres dans un même champ. La gestion des données de type date sont assez spécifiques mais avec cette sorte de champ à rallonge et sans contrôle de type bonjour l'angoisse pour faire des requêtes là-dessus.

  4. #4
    Membre du Club Avatar de Kokito
    Homme Profil pro
    Inscrit en
    Février 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2004
    Messages : 78
    Points : 56
    Points
    56
    Par défaut
    Merci beaucoup on se rapproche

    Donc en combinant, LEFT et RIGHT, je retrouve bien ma date, mais peut-on calculer la longueur de cette ligne en SQL aussi ??

    Merki

  5. #5
    Membre du Club Avatar de Kokito
    Homme Profil pro
    Inscrit en
    Février 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2004
    Messages : 78
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par phili_b
    N'aurait-il pas mieux valu qu'il y ait une relation 1-n vers une table d'historisation des dates ?

    C'est un peu de la bidouille de mettre les dates à la suite des autres dans un même champ. La gestion des données de type date sont assez spécifiques mais avec cette sorte de champ à rallonge et sans contrôle de type bonjour l'angoisse pour faire des requêtes là-dessus.
    J'ai pensé faire ça au début, mais je voulais tester plusieurs solutions

  6. #6
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Points : 1 281
    Points
    1 281
    Par défaut
    si tu veux recuperer que les deux dernieres dates, un right suffit, tu as pas besoin de connaitre la longueur de la chaine

    Pour la longueur utilise la fonction LENGHT, fait une recherche sur google si tu ne sais pas comment l'utiliser

  7. #7
    Membre du Club Avatar de Kokito
    Homme Profil pro
    Inscrit en
    Février 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2004
    Messages : 78
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par HULK
    si tu veux recuperer que les deux dernieres dates, un right suffit, tu as pas besoin de connaitre la longueur de la chaine

    Pour la longueur utilise la fonction LENGHT, fait une recherche sur google si tu ne sais pas comment l'utiliser
    Oki merci beaucoup à vous deux, je vais tester ces deux solutions ...


  8. #8
    Membre du Club Avatar de Kokito
    Homme Profil pro
    Inscrit en
    Février 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2004
    Messages : 78
    Points : 56
    Points
    56
    Par défaut
    Finalement j'opte pour créer une nouvelle table pour ces dates.

    Je sais pas si ce qu'il m'ait passé derrière la tête pour penser à faire autre chose

    Merci bcp de votre aide

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

Discussions similaires

  1. Réponses: 20
    Dernier message: 19/11/2016, 22h32
  2. interval dans une requête select
    Par phicarre dans le forum Requêtes
    Réponses: 3
    Dernier message: 01/05/2013, 18h18
  3. [AC-2003] Critères conditionnels dans une requête SELECT
    Par Cam78 dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 10/05/2010, 09h51
  4. Réponses: 4
    Dernier message: 09/01/2008, 20h10
  5. fusion de 2 colonnes dans une requête select?
    Par epeichette dans le forum Requêtes
    Réponses: 1
    Dernier message: 04/11/2005, 23h05

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