我写了这个查询:如何使用WHERE子句与日期时间在SQL Server 2008
SELECT *
FROM w_tbl
WHERE DID NOT IN (SELECT DId FROM tbl_Assign)
AND CAST(MeasDateTime AS Date) = @dta
ORDER BY
CAST(MeasDateTime as DATE) DESC
因此,大家可以看到我送一个参数化查询。
所以我把24/09/2010 00:00:00
为@dta
但我得到这个错误:
Conversion failed when converting date and/or time from charterer string.
我告诉你为什么我这样做,我的目的:
我有一个日期时间列,并我想按日期选择/获取所有数据(即我不想取得日期时间明智的,它必须只是根据日期)
你的意思是你将'@ dta'的值设置为*字符串*?为什么不把它设置为'DateTime'呢? – 2013-05-06 06:41:01
我会怀疑MeasDateTime可能没有有效的值。顺便提一下,这个专栏的类型是什么? – 2013-05-06 06:44:30
@JonSkeet我在DB领域也是日期时间,它不是字符串.... – 2013-05-06 06:44:57