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 :

Tri sur les dates


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 97
    Points : 76
    Points
    76
    Par défaut Tri sur les dates
    Bonjour à tous, j'ai une table sous sql server qui contient une colone de type datetime.

    Ma quete:
    SELECT *
    FROM MaTable
    WHERE (HeureDebut < '09:30:30')

    Cette requete me retourne même des enregistrements supérieur a 09h30m00, si j'ai fait une erreur de synthaxe, merci de me corriger.

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    En faisant :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM MaTable
    WHERE (HeureDebut < time('09:30:30'))

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 97
    Points : 76
    Points
    76
    Par défaut
    Sql Server me retourn l'erreur suivante,
    'TIME', n'est pas un nom de fonction reconnu.

    Si tu as une autre solution?

  4. #4
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Si ce n'est pas l'une c'est l'autre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * FROM MaTable
    WHERE (HeureDebut < HOUR('09:30:30'))

  5. #5
    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 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 034
    Points : 23 779
    Points
    23 779
    Par défaut
    Bonjour,

    Sous SQLServer, c'est la fonction DATEPART qui permet d'extraire les données d'un champ au format DATE. Le seul soucis, c'est qu'elle extrait à part les heures, les minutes et les secondes... Donc, ça n'est pas évident à utiliser pour récupérer des horaires antérieurs à 9:30...

    Autre solution, convertir l'heure en chaîne de caractères "hh:mm:ss" et là ça doit passer. Pour ça, c'est la fonction CONVERT qu'il faut utiliser.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM MaTable
    WHERE CONVERT(CHAR(8), HeureDebut, 8) < '09:30:30'
    ced

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 97
    Points : 76
    Points
    76
    Par défaut
    J'ai trouvé la solution!

    SELECT *
    FROM MaTable
    WHERE (HeureDebut< CAST('09:30:00' AS DATETIME))

  7. #7
    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 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 034
    Points : 23 779
    Points
    23 779
    Par défaut
    Ben vi, c'est mieux dans ce sens là la comparaison
    -2 ced

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

Discussions similaires

  1. [BATCH] Tri sur les dates de fichiers
    Par tonf dans le forum Windows
    Réponses: 1
    Dernier message: 26/04/2007, 16h25
  2. [MySQL] Tri sur les dates
    Par urbalk dans le forum PHP & Base de données
    Réponses: 33
    Dernier message: 21/03/2007, 22h01
  3. Problème de tri sur les dates par année puis mois
    Par rob2-9 dans le forum Access
    Réponses: 26
    Dernier message: 11/08/2006, 11h04
  4. [Dates] tri sur les dates
    Par udta5371 dans le forum Langage
    Réponses: 5
    Dernier message: 13/07/2006, 21h49
  5. Tri sur les dates
    Par ShadoX dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 08/06/2006, 11h58

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