Tsql 关于日期和时间范围的SQL帮助
我在下面的问题上有点难堪。 下面的查询有效,并提供了我需要的所有行Tsql 关于日期和时间范围的SQL帮助,tsql,date,time,Tsql,Date,Time,我在下面的问题上有点难堪。 下面的查询有效,并提供了我需要的所有行 select (e.Firstname+' '+ e.lastname) as ApprovedBy , wd.TargetDate ,wd.ACTDate ,wd.UploadDate ,wd.ApproveDate From Approved wd JOIN Employee e on EmployeeID = wd.ApproveDateId where wd.Approve
select (e.Firstname+' '+ e.lastname) as ApprovedBy
, wd.TargetDate
,wd.ACTDate
,wd.UploadDate
,wd.ApproveDate
From Approved wd
JOIN Employee e
on EmployeeID = wd.ApproveDateId
where wd.ApproveDate Between '4/2/2012 14:30:00.000' and '4/30/2012 23:00:59.000'
order by ApproveDate
现在我必须把它放在一个日期范围内?
我需要的是关于如何获取大于'4/2/2012 14:30:00.000'但介于4/2/2012和'4/30/2012'之间的所有行的一些指导?我只想要日期范围内时间大于14:30:00.000的行
谢谢格式应该是
'YYYY-MM-DD HH:MM:SS'
因此,2012年4月2日将是
'2012-04-02 14:30'.
您可以使用BETWEEN来比较这样的日期。假设您想要的是一个日期范围(即没有时间),然后是第二个条件,包括时间,可以按如下方式执行(SQL 2008+): 如果您想要时间更长的所有天数(在范围内),请将上述第2个条件替换为:
AND CONVERT(TIME(0), wd.ApproveDate) > CONVERT(TIME(0), '14:30:00')
日期的格式可以是任何序列(在合理范围内),只要它被包装在一个合适的convert()+Style Indicator:)中就行了,我在这个过程中学到了一些东西,我可以在将来使用,非常感谢
AND CONVERT(TIME(0), wd.ApproveDate) > CONVERT(TIME(0), '14:30:00')