22

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,319
  • 18
  • 25
JeffreyLazo
  • 689
  • 3
  • 11
  • 17

3 Answers3

36

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
  • 6,571
  • 4
  • 32
  • 66
1

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
  • 88,138
  • 25
  • 132
  • 151
0

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,259
  • 1
  • 10
  • 17