In ORACLE DATEDIFF
doesn't exist.
But in Oracle, you can directly use + or - operands between two dates.
So your requets could be : (EDIT to add diff value in select)
SELECT b.BOOKINGID, g.FORENAME, g.SURNAME,
CASE WHEN (SYSDATE - b.DEPARTDATE) > 0 THEN CONCAT((SYSDATE - b.DEPARTDATE), ' days late')
ELSE CONCAT((b.DEPARTDATE - SYSDATE),' days left')
END AS "Booking Status"
FROM GUEST g, BOOKING b
WHERE g.GUESTID = b.GUESTID
AND (SYSDATE - b.DEPARTDATE) > 2;
This query show you only bookings with at least 2 days of late.
EDIT
The query that does that you're looking for is : (Almost identical to that of Gordon Linoff made)
SELECT b.BOOKINGID, g.FORENAME, g.SURNAME, (b.DEPARTDATE - b.ARRIVEDATE) as booking_duration
FROM GUEST g, BOOKING b
WHERE g.GUESTID = b.GUESTID
AND (b.DEPARTDATE - b.ARRIVEDATE) > 2;