获取最近一小时的记录。

28

我有这个查询:

SELECT Field1, OrderFor, Writeback, Actshipdate, Orderstatus, receivedate, receivetime
FROM orderinfo, shippinginfo
WHERE orderinfo.orderid = shippinginfo.orderid
AND shippinginfo.custid = '37782'
AND receivedate =  DATE(NOW())
AND receivetime = ???????

我正在使用Sybase自适应服务器,尝试获取过去一小时的记录。

3个回答

50

试试这个!!

SELECT Field1, OrderFor, Writeback, Actshipdate, Orderstatus, receivedate, receivetime
    FROM orderinfo, shippinginfo
    WHERE orderinfo.orderid = shippinginfo.orderid
    AND shippinginfo.custid = '37782'
    AND receivedate =  DATE(NOW())
     AND receivetime > DATEADD(HOUR, -1, GETDATE())

没问题,谢谢。 - Christopher

4
尝试下面的查询: ```尝试下面的查询:```
SELECT Field1, OrderFor, Writeback, Actshipdate, Orderstatus, receivedate, receivetime 
  FROM orderinfo, shippinginfo
  WHERE orderinfo.orderid = shippinginfo.orderid
    AND shippinginfo.custid = '37782'
    AND receivedate =  DATE(NOW())
    AND receivetime >= (sysdate-1/24);

1

与TeamDataViz的答案类似。在我看来,只是更易读一些。

SELECT Field1, OrderFor, Writeback, Actshipdate, Orderstatus, receivedate, receivetime
FROM orderinfo, shippinginfo
WHERE orderinfo.orderid = shippinginfo.orderid
AND shippinginfo.custid = '37782'
WHERE receivedate BETWEEN DATEADD(HOUR,-1,GETDATE()) AND CAST(GETDATE() AS DATE)

如果您只希望聚焦于过去一天的记录,WHERE子句会变得更加容易。

WHERE receivedate > GETDATE() - 12

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接