【发布时间】:2012-10-03 10:37:03
【问题描述】:
我对 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
我不断收到的错误是:
从字符串转换日期时间时转换失败。
我该如何解决这个问题?
【问题讨论】:
-
您需要为变量指定一个长度,以防止它们被截断为 1 个字符。
yyyy-mm-dd也不适用于datetime的所有语言环境。yyyymmdd更健壮。