在SQL中设置变量日期

时间:2013-07-30 20:05:56

标签: sql sql-server variables date ssms

在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在'&'中不兼容操作

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

2 个答案:

答案 0 :(得分:21)

你试过这个:

Declare @specified_date Date
set @specified_date = '07-01-2013'
Select * from etc
Where CreatedDate > @specified_date

答案 1 :(得分:3)

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

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))