Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tsql 关于日期和时间范围的SQL帮助_Tsql_Date_Time - Fatal编程技术网

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