comment convertir une variable de chaîne à la variable datetime de sql-server?
Je suis relativement nouveau à sql-server; j'essaie d'avoir une date de début et date de fin tiré à partir d'un formulaire-variable de la chaîne puis de le convertir en datetime (aaaa-mm-jj) format et je n'arrive pas à trouver quelque chose qui fonctionne. Tentative de code et l'erreur qui en résulte est ci-dessous. Tout conseil serait apprécié.
declare @startdate as varchar
declare @enddate as varchar
set @startdate=cast(@startdate as datetime)
set @enddate=cast(@enddate as datetime)
SELECT order_date, inv_no
from invoices
where order_date between @startdate and @enddate
L'erreur que je reçois est:
Conversion a échoué lors de la conversion de type datetime de chaîne de caractères.
Comment puis-je résoudre ce problème?
- Vous devez spécifier une longueur de vos variables pour commencer à arrêter d'être tronquée à 1 caractère. Aussi
yyyy-mm-dd
ne fonctionne pas sur tous les paramètres régionaux pourdatetime
.yyyymmdd
est plus robuste. - msdn.microsoft.com/en-us/library/ms187928.aspx
Vous devez vous connecter pour publier un commentaire.
spécifier une longueur pour votre
varchar
:vous n'avez pas à jeter nécessairement