Avatar billede duckman Nybegynder
28. april 2004 - 09:04 Der er 3 kommentarer og
1 løsning

ResultSet.getTimestamp & Oracle

Jeg har to værdier af typen timestamp (starttid og sluttid) i en tabel.
Der er brug for at kende forskellen på de to, så i SQL trækker vi den ene fra den anden:

SELECT (sluttid - starttid) AS forbrugtTid

Når Jeg så kalder resultset'ets getTimestamp("FORBRUGTTID") metode kommer der en SQLException:

java.sql.SQLException: Ugyldig kolonnetype

Dette gælder også hvis metoden kaldes med getTimestamp(1).
Det virker dog fint med getString metoden!

Mit spørgsmål er: Kan det passe at Oracle ikke har implementeret getTimestamp() metoden korrekt som beskrevet i ResultSet interfacet?

Og er der en nemmere løsning på problemet end at lave en metode der ud fra getString kan beregne tiden?
Avatar billede arne_v Ekspert
28. april 2004 - 09:53 #1
Hvis getTimestamp ikke virker, så synes jeg bare at du skal bruge getString
og bruge en SimpleDateFormat parse til at konvertere String til
java.util.date
Avatar billede duckman Nybegynder
28. april 2004 - 15:42 #2
problemet med Date er at der mangler en metode til at hente klokkeslæt...
Jeg har istedet løst problemet ved at bruge TO_CHAR(starttid, 'HH24') i SQL og på den måde få det ud.
Avatar billede arne_v Ekspert
28. april 2004 - 15:49 #3
java.sql.Date indeholder kun dato, men java.util.Date indeholdee både
dato og klokke !
Avatar billede arne_v Ekspert
28. april 2004 - 15:50 #4
Så den foreslåede metode er god nok.

(SimpleDateFormat parse kan slet ikke lave en java.sql.Date)
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
Kurser inden for grundlæggende programmering

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