Wyciaganie dat z bazy danych za pomoca javy

0

Witam chcialem zapytac poniewaz nie mam zbytnio pomyslu jak zrealizowac funkcje ktora w formie tablicy zwracala mi daty pobrane z bazy danych. Czyli mamy dzis np. 12.08.2013 i chcialbym zeby funkcja zwrocila mi wszystkie daty od 12.08 do 5.08 (czyli cały tydzien). Zaczałem cos kombinowac z sql'em i oto efekty:

SELECT czas from tabela  
WHERE czas >= '2013-08-05' AND czas <= '2013-08-12';

I to działa, ale to rozwiazanie na sztywno. Dlatego sie zastanawiam jak zrobic w javie takie cos zeby obliczac date od "dzis" tydzien wstecz i pobierac to z bd.

Dziekuje za wskazowki.

0

o_O
Tak samo jak zrobiłeś, ale zamiast sztywnych dat musisz tam wstawić datę dzisiejszą i o tydzień wczesniejszą. Skąd brać?
Klasy: Date, Calendar i GregorianCalendar albo JodaTime i jej DateTime.

0

Mógłbyś mi taki pseudo kod napisać albo chociaż jakiś szkielet bo nie bardzo łapę się w javie. W sql'u takie coś wymyśliłem i to działa:


SELECT data
from tabela  
WHERE data >= '2013/07/09' 
AND data <= current_date;
0

W jakiej postaci nasz datę w programie? Jeśli jest to zmienna typu Calendar lub GregorianCalendar, to

data.add(Calendar.DATE_OF_YEAR,-7);

. Jeśli jest w postaci Stringu to musisz wpierw parsować, by dostać datę.

0

Date mam w formacie YYYY/MM/DD

0
SELECT data
from tabela  
WHERE data >= current_date - INTERVAL '7 days' 
AND data <= current_date;

</quote>
1
		
String data = "2013/08/32";
String[] items = s.split("/");
GregorianCalendar gc = new GregorianCalendar(Integer.parseInt(items[0]),Integer.parseInt(items[1])-1,Integer.parseInt(items[2]));	
1
balu napisał(a)

Co do tego to zwraca mi blad: ORA-30089: brakujące lub uszkodzone <pole_data-godzina> 30089. 00000 - "missing or invalid <datetime field="field">" *Cause: A <datetime field="field"> (YEAR, MONTH, DAY, HOUR, MINUTE, SECOND) is expected but not found, or a <datetime field="field"> specified the <end field="field"> in an <interval qualifier="qualifier"> is more significant than its <start field="field">.

to w takim razie nie

- INTERVAL `7 days`

tylko

- INTERVAL `7` DAY

1 użytkowników online, w tym zalogowanych: 0, gości: 1