Bonjour,
Je suis sous MS Sql Server 2005
J'explique s'implement mon probleme.
Je suis en train de porter un logiciel windows sous linux.
Sous linux j'utilise mono malheureusement le driver sql ne gere pas correctement les dates.
Je recupere donc une requete du type:
Or la date et en anglais alors que lorsque j'execute ma equete sous windows
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 exec sp_executesql N'SELECT * FROM BTS WHERE DateDeb > @dateDu ', N'@dateDu datetime', @dateDu = 'Jan 01 2007 12:00:00 AM'
j'obtiens:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ]exec sp_executesql N'SELECT * FROM BTS WHERE DateDeb > @dateDu ', N'@dateDu datetime', @dateDu = 'janv 1 2007 12:00:00:000'
J'ai donc essayer la requete suivante:
et cela ne fonctionne pas "Erreur de conversion du type de données varchar en datetime."
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 exec sp_executesql N'SELECT * FROM BTS WHERE DateDeb > convert(datetime,replace(@dateDu,''Jan'',''janv'')) ', N'@dateDu datetime', @dateDu = Jan 1 2007 12:00:00:000'
et chose etrange ce code suivant fonctionne:
et celui ci ne fonctionne pas:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 exec sp_executesql N'SELECT * FROM BTS WHERE DateDeb > convert(datetime,replace(@dateDu,''Jan'',''jan'')) ', N'@dateDu datetime', @dateDu = janv 1 2007 12:00:00:000'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 exec sp_executesql N'SELECT * FROM BTS WHERE DateDeb > convert(datetime,replace(@dateDu,''Jan'',''janv'')) ', N'@dateDu datetime', @dateDu = janv 1 2007 12:00:00:000'
Pouvez vous m'aider ou me donner une idée afin de pouvoir modifié la date renvoyer par linux sachant que je ne peut pas touché aux paramatere car ils sont générer par le driver sql
Merci d'avance
Gazzall
Partager