Utilisation de select pour déterminer un paramètre de procédure stockée

J'appelle une procédure stockée dans laquelle j'essaie de convertir un nombre en datetime (comme je le saisis à partir d'Excel pour convertir les dates en nombres:

exec UpdateInvoices @InvoiceDate = select cast(cast(42109 as datetime) as date) 

Cela ne fonctionne pas, j'obtiens une syntaxe incorrecte près de Select.

Quelle est la bonne façon de faire cela?

Vous devez d'abord définir votre paramètre.

 DECLARE @DateParam date SELECT @DateParam = cast(cast(42109 as datetime) as date) EXEC UpdateInvoices @InvoiceDate = @DateParam 

Juste perdre le select :

 exec UpdateInvoices @InvoiceDate = cast(cast(42109 as datetime) as date)