OVH Cloud OVH Cloud

requete SQL Comparaison de date & DateTime ??

3 réponses
Avatar
Dominique
Bonjour,

Je veux utiliser une comparaison de date dans une requète SQL, 'where date <
xxx'

Comment puis-je convertir un DateTime en une valeur faisant sens pour
évaluer xxx ?

Merci d'avance

Dominique

3 réponses

Avatar
c.sansus
Tu peux formater la date : String.Format (" where date < '{0:dd/MM/yyyy}' ",
DateTime.Now ), seul hic le format des dates peut changer en fonction de la
culture de ton server sql ....

La meilleure réponse serait : passes par une procédure stokées, ca evite ce
genre de désagrément.


"Dominique" wrote:

Bonjour,

Je veux utiliser une comparaison de date dans une requète SQL, 'where date <
xxx'

Comment puis-je convertir un DateTime en une valeur faisant sens pour
évaluer xxx ?

Merci d'avance

Dominique





Avatar
Fred
Bonsoir,
Ou bien, sans procédure stockée : Where date < @datelimite
et en utilisant sqlCommand.Parameters.add("@datelimite", LaDate)
qui devrait transformer la date dans un format compris par sql.
PS : cette syntaxe est valide pour le client sqlserver, j'ai souvenir qu'en
ODBC, la syntaxe @datelimite n'est pas reconnue. Il faut mettre un point
d'interrogation et pas de nom je crois.

"c.sansus" a écrit dans le message de
news:
Tu peux formater la date : String.Format (" where date < '{0:dd/MM/yyyy}'
",
DateTime.Now ), seul hic le format des dates peut changer en fonction de
la
culture de ton server sql ....

La meilleure réponse serait : passes par une procédure stokées, ca evite
ce
genre de désagrément.


"Dominique" wrote:

Bonjour,

Je veux utiliser une comparaison de date dans une requète SQL, 'where
date <
xxx'

Comment puis-je convertir un DateTime en une valeur faisant sens pour
évaluer xxx ?

Merci d'avance

Dominique







Avatar
Dominique
J'ai finalement trouvé sans les procédures stockées :

les dates dbdate sont référencées au 31/12/1899, on peut donc calculer la
date comme

(DateTimeDate-GetDate("30/12/1899")).Ticks/10000000/60/60/24)

GetDate retourne le DateTime du 30/12/1899

Dominique


"Fred" a écrit dans le message de news:

Bonsoir,
Ou bien, sans procédure stockée : Where date < @datelimite
et en utilisant sqlCommand.Parameters.add("@datelimite", LaDate)
qui devrait transformer la date dans un format compris par sql.
PS : cette syntaxe est valide pour le client sqlserver, j'ai souvenir
qu'en ODBC, la syntaxe @datelimite n'est pas reconnue. Il faut mettre un
point d'interrogation et pas de nom je crois.

"c.sansus" a écrit dans le message de
news:
Tu peux formater la date : String.Format (" where date < '{0:dd/MM/yyyy}'
",
DateTime.Now ), seul hic le format des dates peut changer en fonction de
la
culture de ton server sql ....

La meilleure réponse serait : passes par une procédure stokées, ca evite
ce
genre de désagrément.


"Dominique" wrote:

Bonjour,

Je veux utiliser une comparaison de date dans une requète SQL, 'where
date <
xxx'

Comment puis-je convertir un DateTime en une valeur faisant sens pour
évaluer xxx ?

Merci d'avance

Dominique