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

Développement SQL Server Discussion :

Probleme de comparaison de datetime


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 191
    Par défaut Probleme de comparaison de datetime
    Bonjour tout le monde
    je fais une requête sur ma table qui contient un champs de datetime (DateDebut) pour récupérer tout les enregistrements avec DateDebut superieur à une date que j'indique, mais elle ne marche pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      select * from Conges where DateDebut >= 30/07/2010
    d'après mes recherches sur internet ma requête est correcte et je dois avoir un résultat, mais ce n'est pas le cas.
    je signale que les date sont stockées dans ma table Conges sous le format yyyy-mm-dd hh:mm:ss:mm.mmmm

    peut cela être la cause de mon problème ?

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM Conges WHERE DateDebut >= CONVERT(DateTime,'2010/07/30',120)
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par casawi Voir le message
    je signale que les date sont stockées dans ma table Conges sous le format yyyy-mm-dd hh:mm:ss:mm.mmmm
    On ne répétera vraisemblablement jamais assez, les dates n'ont pas de format !!!
    Le format s'est juste pour l'esthétique de l'affichage.

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 191
    Par défaut
    Merci Népomucène pour la réponse et aussi Jerome_Mtl pour la remarque
    j'ai pas encore résolu mon problème.
    je mets mon code tout entier, comme ça vous serez près de mon problème:
    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
    21
    22
    23
    24
     
    ALTER PROCEDURE [dbo].[GetListeConges] 	
    ( 	
    	@Id numeric(18,0),
    	@IdType numeric(18,0),
     	@DateDebut nvarchar(20),
    	@DateFin nvarchar(20)
    ) 	
    AS
    DECLARE @REQ varchar(800)
    BEGIN 	
     
    	SET @REQ = 'SELECT Conges.IdConge FROM Conges 
    		        WHERE Conges.IdUser = '+ cast(@Id as varchar(10));
    	if @IdType is not null
    		SET @REQ = @REQ + ' AND Conges.IdTypeConge = ' + cast(@IdType as varchar(10));
    	if @DateDebut is not null and @DateDebut <> ''
    		SET @REQ = @REQ + ' AND Conges.DateDebutConge >= '+convert(datetime,@DateDebut, 103);
    	if @DateFin is not null and @DateFin <> ''
    		SET @REQ = @REQ + ' AND Conges.DateFinConge <= ' + convert(datetime,@DateFin, 103);
    	SET @REQ = @REQ + ' ORDER BY Conges.DateDebutConge';
    	PRINT 'REQ : '+@REQ;
    	EXEC(@REQ);
    END
    Merci encore

  5. #5
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Je ne comprends pas pourquoi tu balades des datetime sous forme de chaines.

    Les paramètres d'entrées de la proc stoc : elle est appelée par quoi cette proc stoc que tu ais des paramètres de date en chaine ?

    Par ailleurs utiliser le Convert avec le paramètre 103 ne correspond pas au format de chaine date ton tu parles dans ton premier poste.

  6. #6
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 191
    Par défaut
    Merci Bluedeep pour ta réponse
    j'appelle ma procédure d'un code c#. J'ai choisi de transmettre mes dates en chaine par ce que j'ai trouvé des problème lorsque mon datetime est null.
    pour le format c'est vrai il ne correspond pas à 103, mais le format que je récupère et que je le passe à mon code c# est jj/mm/yyyy (le 103).

  7. #7
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par casawi Voir le message
    Merci Bluedeep pour ta réponse
    j'appelle ma procédure d'un code c#. J'ai choisi de transmettre mes dates en chaine par ce que j'ai trouvé des problème lorsque mon datetime est null.
    Quel problème ? tu utilises des DateTime nullable (syntaxe C# : "DateTime?") et c'est tout. Il n'y aucune justification pour introduire ce genre de monstruosité dans le code (sans même parler de l'effet d'un changement de Localisation sur la machine exécutant le code).

Discussions similaires

  1. probleme de comparaison de date
    Par witjet dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/07/2006, 11h39
  2. Problème de comparaison de fichiers
    Par peppena dans le forum Shell et commandes GNU
    Réponses: 10
    Dernier message: 30/05/2006, 19h41
  3. [VBS]probleme ds comparaison de nombres
    Par zorba49 dans le forum VBScript
    Réponses: 9
    Dernier message: 24/05/2006, 16h43
  4. [VBA-E] Comparaison date / datetime
    Par dahu29 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/03/2006, 13h12
  5. [Dates] Probleme de comparaison de date
    Par mathieu77186 dans le forum Langage
    Réponses: 4
    Dernier message: 22/12/2005, 17h21

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