当前位置: 代码迷 >> Sql Server >> sql时间示意
  详细解决方案

sql时间示意

热度:33   发布时间:2016-04-24 09:27:51.0
sql时间表示
sql怎么表示夜间的20点到第二天6点  
DrivingPoint  开始时间
ArrivalPoint 结束时间

如何查找 DrivingPoint  在夜晚20点 到ArrivalPoint 第二天6点 
谢谢
------解决思路----------------------
SELECT * FROM TB
WHERE CONVERT(VARCHAR(5),DATEADD(HOUR,-7,DrivingPoint),108)>='13:00'
AND DATEDIFF(HOUR,CONVERT(VARCHAR(10),DATEADD(HOUR,-7,DrivingPoint),120)+' 20:00',ArrivalPoint)<=10

------解决思路----------------------

SELECT * 
FROM TB
WHERE DATEPART(hh,DrivingPoint)>=20 AND DATEPART(hh,ArrivalPoint)<=6

------解决思路----------------------
1楼复杂,2楼明显出不来



SELECT * 
FROM TB
WHERE (DATEPART(hh,DrivingPoint) BETWEEN 20 AND 23 or DATEPART(hh,DrivingPoint) BETWEEN 0 AND 6)

  相关解决方案