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 :

[Date] SQL Server 2005


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2007
    Messages : 76
    Par défaut [Date] SQL Server 2005
    Bonjour à tous,

    Un petit priblème courant que je n'arrive pas à résoudre malgrès toute la documentation en ligne (pas réussi à l'adapter à mon problème).

    Voilà, je récupère la date courante grâce à un SELECT GETDATE() et je souhaite comparé cette valeur avec une table de ma base de donnée qui contient toute les dates des 30 prochaines années.

    Problème :

    Getdate : 2007-12-31
    Ma table : 31/12/2007

    Voila le code que j'ai fait qui ne fonctionne toujours pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    DECLARE @jour INT
    DECLARE @mois INT
    DECLARE @annee INT
    DECLARE @complet NVARCHAR
     
     
    SET @jour = (SELECT DATEPART(day, GETDATE()))
    SET @mois = (SELECT DATEPART(month, GETDATE()))
    SET @annee = (SELECT DATEPART(year, GETDATE()))
     
    SET @complet = (SELECT(@jour+'/'+@mois+'/'+@annee))
    SET @complet = (SELECT CONVERT(SMALLDATETIME, @complet))
    Merci d'avance pour votre aide.

  2. #2
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select convert(varchar(10),GETDATE(),103)

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2007
    Messages : 76
    Par défaut
    Merci à toi pour ta réponse.

    Cependant je ne vois pas bien comment l'utiliser.
    A la place de ma dernière ligne ? ou en ajout en début de bloc après les déclarations de mes variables ?

  4. #4
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Par défaut
    en supposant que le champ de ta_table contenant les dates sur 30 ans s'appelle mon_champ_date

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * from ta_table where convert(varchar(10),GETDATE(),103)=mon_champ_date

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2007
    Messages : 76
    Par défaut
    Merci de ta réponse.

    Le problème est que celà ne me retourne aucun résultat etant donné que Getdate me donne 2007-18-06 et il compare ce resultat dans la base de donnée qui est formé ainsi : 18/06/2007.

    Donne la requete fonctionne mais aucun resultat (logique).

    Il faut donc effectuer la transformation avant ce select que tu m'a transmis j'imagine.

  6. #6
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Par défaut
    il doit y avoir un autre pb car

    SELECT * FROM ta_table WHERE convert(varchar(10),GETDATE(),103)=mon_champ_date
    revient a écrire

    SELECT * FROM ta_table WHERE '18/07/2007'=mon_champ_date
    essaies directement la seconde requête; si pas de résultat cela peut venir de:

    - ton mon_champ_date est un champ date et pas varchar

    d'ailleurs... postes le résultat de cette requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select top 1 mon_champ_date from ta_table

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

Discussions similaires

  1. Formatage date Sql Server 2005
    Par amirad dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 06/07/2009, 10h36
  2. comparaison date SQL Server 2005
    Par stephyugh dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 11/12/2007, 18h12
  3. Réponses: 1
    Dernier message: 05/12/2007, 21h44
  4. Date variable dans SQL server 2005 anglais
    Par denisr dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 15/06/2007, 11h19
  5. [C#][2.0][SQL Server 2005] Format date dans GridView
    Par just1980 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 13/11/2006, 22h45

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