Avatar billede unknown_someone Juniormester
26. juni 2003 - 16:53 Der 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...

nogle der har idé til det?
Avatar billede kbb2 Nybegynder
26. juni 2003 - 18:11 #1
Hvis jeg har forstået dig korrekt så er det noget lignende det her du skal bruge:

SELECT *
FROM aspping
WHERE sysdate <= (last_check - (1 / 24 / 60 * work_time))
ORDER BY last_check ASC

Hvis du fx vil lægge en time til sysdate skal du skrive følgende:
sysdate+(1/24)

osv osv!
Avatar billede pgroen Nybegynder
26. juni 2003 - 18:19 #2
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
Avatar billede pgroen Nybegynder
26. juni 2003 - 18:21 #3
Eller altenativt:

SELECT *
  FROM (SELECT  *
            FROM aspping
          WHERE SYSDATE <=
                        NVL (last_check - (1 / (24 * 60) * work_time, SYSDATE))
        ORDER BY last_check ASC)
WHERE ROWNUM <= 5
Avatar billede pgroen Nybegynder
24. februar 2004 - 08:58 #4
Øhm - kunne vi få lukket den her ?
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester