Avatar billede sago Nybegynder
04. oktober 2002 - 13:10 Der er 6 kommentarer og
1 løsning

At sammenligne datoer direkte

Hej

Jeg har et problem med at sammenligne to datoer i Oracle.

Kan jeg ikke sige f. eks. SELECT * FROM table WHERE DATE < "en eller anden dato"?

Eller skal jeg bruge en anden måde? På forhånd tak :)
Avatar billede pgroen Nybegynder
04. oktober 2002 - 13:22 #1
joda !

fx.:

SELECT * FROM table WHERE date_column < '04-OCT-2002');

eller hvis du vil være uafhængig af din NLS-setting:

SELECT * FROM table WHERE date_column < TO_DATE('04-10-2002','DD-MM-YYYY');
Avatar billede sago Nybegynder
04. oktober 2002 - 13:35 #2
Det synes jeg også at det er det jeg gør:

(det er Java kode)

SQLStr = "SELECT * FROM booking WHERE STARTTID < to_date('" + starttid + "','dd-mm-yyyy,hh24:mi') AND to_date('" + sluttid + "','dd-mm-yyyy,hh24:mi') AND SLUTTID > to_date('" + starttid + "','dd-mm-yyyy,hh24:mi') AND to_date('" + sluttid + "','dd-mm-yyyy,hh24:mi')";

Jeg får denne fejl: java.sql.SQLException: ORA-00920: ugyldig relationsoperator

Denne relationsoperator, er det ikke > og <?
Avatar billede teepee Nybegynder
04. oktober 2002 - 13:39 #3
Er du sikker på at dine " + starttid + " o.s.v også bliver pastet ind i det format du har skrevet, nemlig 'dd-mm-yyyy,hh24:mi'?
Prøv at printe hele linien ud før du afvikler den.
Avatar billede teepee Nybegynder
04. oktober 2002 - 13:41 #4
Hovse, i midten står der bare
... AND to_date('" + sluttid + "','dd-mm-yyyy,hh24:mi') AND ...
der er jo slet ingen relationsoperator?????
Avatar billede pgroen Nybegynder
04. oktober 2002 - 13:41 #5
Uden at have checket dine 'plinger' særlig grundigt, vil jeg tro, at din SQLStr er sat forkert sammen - prøv at skrive den ud i en eller debug-sætning...
Avatar billede sago Nybegynder
04. oktober 2002 - 13:41 #6
Ja, det burde det, for jeg bruger en lignende streng, et andet sted (som virker):

SQLStr = "SELECT * FROM booking WHERE STARTTID BETWEEN to_date('" + starttid + "','dd-mm-yyyy,hh24:mi') AND to_date('" + sluttid + "','dd-mm-yyyy,hh24:mi') OR SLUTTID BETWEEN to_date('" + starttid + "','dd-mm-yyyy,hh24:mi') AND to_date('" + sluttid + "','dd-mm-yyyy,hh24:mi')";
Avatar billede sago Nybegynder
04. oktober 2002 - 13:46 #7
Mange tak, teepee... den copy-pastede sætning blev vidst ikke lige checket godt nok. Ups. :)
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



Seneste spørgsmål Seneste aktivitet
I går 23:37 Poe strøm Af lurup i LAN/WAN
I går 14:46 GIF-EDITOR Af snestrup2000 i Billedbehandling
I går 14:03 Logge ind Af Bob i PC
I går 12:12 2 skærme - 1 virker - den anden siger No signal Af eksmojo i Skærme
I går 10:33 openvpn projekt Af dcedata1977 i Windows