26. juni 2003 - 16:53Der er
1 kommentar og 3 løsninger
dateadd i sql-sætning
jeg skal have bygget mig en sql hvor sysdate skal være mindre end eller lig med datoen i "last_check" minus antal minutter i "work_time"
det jeg indtil videre har lavet ser sådan ud;
SQL = "SELECT * FROM (SELECT * FROM aspping WHERE (sysdate >= " & DateAdd("n", work_time, last_check) & " or last_check IS NULL) ORDER BY last_check asc) WHERE rownum <= 5"
men ovenstående melder fejl. Jeg vil gerne undgå subselects eller andre ydeligere sql-sætninger...
Hvis din 'work_time' er en NUMBER, så skulle du kunne bruge noget i stil med:
SELECT * FROM (SELECT * FROM aspping WHERE ( SYSDATE <= last_check - (1 / (24 * 60) * work_time) OR last_check IS NULL ) ORDER BY last_check ASC) WHERE ROWNUM <= 5
SELECT * FROM (SELECT * FROM aspping WHERE SYSDATE <= NVL (last_check - (1 / (24 * 60) * work_time, SYSDATE)) ORDER BY last_check ASC) WHERE ROWNUM <= 5
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.