[MEGOLDVA] - OpenOffice.org Base 3.1.1 - aktuális dátum mínusz 90 nap

 ( zolee1988 | 2010. február 4., csütörtök - 12:45 )

Sziasztok!
Kaptam egy feladatot, amit nem tudok megoldani. Nem komplett megoldást várok, hanem egy kis rásegítést, mert a Google nem volt a barátom.
Akarunk csinálni egy adatbázist a szervizelt telefonokról. Ebben lenne néhány adat, pl tipus, imei, stb. Szerepelne benne az utolsó javítás időtartama és hogy meddig garis.
Ez sikerült is, minden szép és jó. Készitenem kéne egy olyan lekérdezést, ami azokat a telefonokat listázza ki, amik legalább 90 nappal ezelőtt voltak utoljára szervizelve. Itt akadtam el.

Ez sikerült eddig:

SELECT "tipus" AS "tipus", "IMEI" AS "IMEI", "serial" AS "serial", "meddig garis" AS "meddig garis", "utolso javitas" AS "utolso javitas", "mit jav" AS "mit jav", "megjegyzes" AS "megjegyzes" FROM "telefonok" AS "telefonok" WHERE "utolso javitas" > {D '2009-10-01' } ORDER BY "tipus" DESC

Valahogy úgy kéne megcsinálnom, hogy ne kelljen mindig kézzel átírnom, hanem automatikusan számolja ki az aktuális dátumból.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Az aktuális nap kiszámolásához használható egy pár függvény attól függően, milyen formátumban kell.
http://wiki.services.openoffice.org/wiki/Built-in_functions_and_Stored_Procedures#Date_and_Time_Functions
Itt leírják. (Aztán pl. a DATEDIFF() függvénnyel összehasonlíthatsz dátumokat).

+1
[konkrétabban mivel "kellemes" időtöltés lehet ha nincs rutinod beleveszni a szintaktikába például a klasszikus karakterre átalakítós trükkel:

WHERE
DATEDIFF('day', TO_CHAR("utolso_javitas", 'YYYY-MM-DD'), TO_CHAR(CURRENT_DATE, 'YYYY-MM-DD')) > 90;
]

a te kódodat behelyettesítve:

SELECT "tipus" AS "tipus", "IMEI" AS "IMEI", "serial" AS "serial", "vasarlas napja" AS "vasarlas napja", "meddig garis" AS "meddig garis", "utolso javitas" AS "utolso javitas", "mit jav" AS "mit jav", "megjegyzes" AS "megjegyzes" FROM "telefonok" AS "telefonok" WHERE DATEDIFF('day', TO_CHAR("utolso javitas", 'YYYY-MM-DD'), TO_CHAR(CURRENT_DATE, 'YYYY-MM-DD')) > 90 ORDER BY "tipus" DESC

az történik, amit akartam. nagyon szépen köszönöm!
két LCD csere közben, telefon SW frissités közben pötyögtem eddig :D

--
Én TUDOM, hogy igazam van. És ha nincs is, akkor is NEKEM van igazam, mert én vagyok az Admin. Ennyi!