28

I have this query:

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 = ???????

I am using Sybase adaptive server anywhere and trying to get records for the last hour.

igr
  • 3,409
  • 1
  • 20
  • 25
JeffreyLazo
  • 813
  • 4
  • 13
  • 17

3 Answers3

50

try this !!

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())
vhadalgi
  • 7,027
  • 6
  • 38
  • 67
4

Try below query:

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);
Hashem Qolami
  • 97,268
  • 26
  • 150
  • 164
1

Similar to TeamDataViz's answer. Just a little more readable IMO.

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)

The WHERE Clause becomes even easier if you only wish to focus on records by Past DAY

WHERE receivedate > GETDATE() - 12
Bonez024
  • 1,365
  • 1
  • 13
  • 21