DateTime SQL problem

Résolu
Signaler
Messages postés
45
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
29 juillet 2008
-
Messages postés
1765
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
-
salut
g un problem avec une requette SQL suivante
Soins.SQL.Clear;
Soins.SQL.Add('SELECT * from Soins where Soins.Date_Heure= :Date_Heure');
Soins.ParamByName('Date_Heure').AsDateTime:=Date_Heure;
Soins.Open;

sachant que le contenue de la variable Date_Heure est de ce type
19/02/2006 09:39:35
avec un espace entre 19/02/2006 et
09:39:35 la requette devien incorecte
est qu'il existe une astuce pour corriger ce probleme sans avoir a refaire toute les champs de mes BDD en les transformant en Strnig
merci

6 réponses

Messages postés
1765
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
6
Bonjour,
Le fait que vous soyez dans un programme Delphi ne change strictement rien au problème. La solution est toujours la même pour prendre en compte ces champs date.

Romelard Fabrice (Alias F___)
Messages postés
1765
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
6
Bonsoir,
Afin d'éviter les problèmes de dates avec SQL Server, il est plus simple de modifier votre code pour fournir une date sous le format :
YYYY-MM-JJ HH:mm:ss

Ainsi lors de la comparaison, vous serez garanti de travailler sur le même plan.

Romelard Fabrice (Alias F___)
Messages postés
45
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
29 juillet 2008

je ne c pas c ya une diferance mais jai oublier de preciser que c'est une requette dans un program delphi
Messages postés
45
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
29 juillet 2008

je galére tjr avce ce problem alors pour fair simple g deviser le champ date heure en deux cahmps date , et heure pour contourner le probleme merci comeme
Messages postés
2
Date d'inscription
mardi 5 décembre 2006
Statut
Membre
Dernière intervention
16 décembre 2006

salut
je suis débutant en sql server et je veut avoir une durée
c'est à dire un programme commence a s'executer à la fin je veut savoir sa durée d'exécution.
j'ai procédé avec l'algorithme suivant :

recupérer la date system avec
select getdate() as datedebut
à la fin de l'execution
select datediff (second, datedebut, getdate())
mais je n'ai pas le résultat voulu
merci
Messages postés
1765
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
6
Il faut passer par une variable SQL :

DECLARE @datedebut AS DateTime

SELECT @Datedebut = getdate()
.....
SELECT datediff (second, @Datedebut , getdate())

Romelard Fabrice (Alias F___)