我对 sql-server 比较陌生;我试图从表单变量中提取开始日期和结束日期作为字符串,然后将其转换为日期时间(yyyy-mm-dd)格式,但我似乎找不到任何有效的东西。尝试的代码和产生的错误如下。任何建议将不胜感激。
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
我不断收到的错误是:
Conversion failed when converting datetime from character string.
如何解决这个问题?
最佳答案
指定 varchar
的长度:
declare @startdate as varchar(10)
declare @enddate as varchar(10)
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
关于t-sql - 如何在sql-server中将字符串变量转换为日期时间变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12862003/