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

MS SQL Server Discussion :

requete sur date


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Juin 2004
    Messages : 118
    Par défaut requete sur date
    Bonjour,

    j'ai un champ "periode" qui a été crée en varchar et qui est constitué ainsi : mm-yyyy

    Je souhaiterais pouvoir faire des requêtes dessus du style select... where periode>04-1997.

    Pour l'instant, je n'ai pas d'erreur généré mais par contre il me donnera en résultat une période telle que 05-1996.

    Merci de bien vouloir m'aider...

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    where periode > convert(datetime, "31-" + VotreDate)
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    LXS
    LXS est déconnecté
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 106
    Par défaut
    Attention toutefois à l'ordre jour/mois ainsi qu'aux mois qui n'ont pas 31 jours...

  4. #4
    Membre confirmé Avatar de Poisson59
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 213
    Par défaut
    c'est normal le résultat vu que période est en varchar donc il trie par ordre croissant.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Juin 2004
    Messages : 118
    Par défaut
    cette fonction ne fonctionne pas. elle me parait bizarre quand même...
    Je ne comprends pas comment elle peut marcher puisque mon champ periode est de la forme mm-yyyy et qu'on lui fait comparer avec des critères du style 31/04/1997!!!

    mes champs période sont de la forme 04-1997 en varchar. Mes requetes sont du style SELECT ... WHERE periode<05-1996.

    Cette requete là me donner comme résultat 04-1997. Je comprends bien le pourquoi de ce résultat mais je ne parviens pas à coder la bonne requete.

    Auriez-vous une idée?

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2002
    Messages : 332
    Par défaut
    DECLARE @test TABLE (id int, mydate varchar(50))

    INSERT INTO @test SELECT 1, '01-2007'
    INSERT INTO @test SELECT 2, '03-2007'
    INSERT INTO @test SELECT 3, '02-2007'
    INSERT INTO @test SELECT 4, '05-2007'
    INSERT INTO @test SELECT 5, '04-2007'


    SELECT id
    FROM @test
    WHERE CAST( RIGHT(mydate, 4) + '-' + LEFT(mydate,2) + '-01' AS datetime) > GETDATE()

Discussions similaires

  1. [SQL2K][DEBUTANT] requete sur date
    Par SmokE dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/04/2007, 11h48
  2. probleme requete sur date
    Par donny dans le forum SQL
    Réponses: 9
    Dernier message: 16/04/2007, 18h36
  3. [Débutant] Critères de requete sur dates - Programmation VBA
    Par Sofie109 dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 11/01/2007, 15h35
  4. requete sur date
    Par fsautejeau dans le forum Requêtes et SQL.
    Réponses: 14
    Dernier message: 12/09/2006, 14h05
  5. Requete sur Date
    Par puppusse79 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 26/06/2006, 12h07

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