21

在 SQL Server Management Studio 中,我尝试使用日期变量来引用特定的日期和时间,如下所示。

Declare @specified_date Date
set @specified_date = '07-01-2013'

Select * 
from etc
Where CreatedDate > CONVERT(datetime, @specified_date & '00:00:00.000' )

此代码不起作用,我收到此错误:

数据类型 date 和 varchar 在 '&' 运算符中不兼容。

正在使用的数据上有日期和时间代码,而不是更改多个查询,我希望能够只定义一次日期并让变量携带它。如果有人知道解决方案,那就太好了。

4

2 回答 2

27

你试过这个:

Declare @specified_date Date
set @specified_date = '07-01-2013'
Select * from etc
Where CreatedDate > @specified_date
于 2013-07-30T20:10:09.450 回答
3

使用 + 代替 &。您还必须转换字符串以使其成为日期时间。

Declare @specified_date Date
set @specified_date = '07-01-2013'
Select * from etc
Where CreatedDate > CONVERT(datetime, @specified_date + cast('00:00:00.000' as datetime))
于 2013-07-30T20:15:57.437 回答