J'essaye de nous faire connaître la fonction DateAdd de SQL dans ma requête. Le problème est quand j'utilise un paramètre pour définir la deuxième arguement, l'argument numéro je reçois une erreur qui va dire quelque chose comme ceci:Utilisation des paramètres dans la fonction DATEADD d'une requête
Impossible de convertir la valeur de paramètre à partir une décimale à un DateTime
Alors que si je l'entrée sans paramètre, c'est-à-dire hardcode un Int, cela fonctionne bien.
Cela fonctionne:
SELECT FieldOne, DateField
FROM Table
WHERE (DateField> DATEADD(day, -10, GETDATE()))
alors que cela ne:
SELECT FieldOne, DateField
FROM Table
WHERE (DateField> DATEADD(day, @days, GETDATE()))
Où @days = -10
Toutes les idées dans ce que je fais mal? Incidemment, je suis en train de définir cette variable dans SQL Server Manager, car j'essaie de résoudre un bogue dans mon code DataAccess. Je ne sais pas si cela fait une différence.
Merci
fonctionne très bien pour SQL Server 2008 studio de gestion. Quel serveur sql utilisez-vous? – Saar
Je suggère de nous rapprocher du code actuel plutôt que de cette version de base que personne ne peut trouver de problème. – MartW