Oldal: 1 / 1

Dátumfüggvény gondok HSQLDB és MySQL db-ben

HozzászólásElküldve: 2010. március 12., péntek 15:50
Szerző: Butters
Dátum függvényekkel kezdetek óta gondban vagyok már HSQLDB -ben is és a MySQL -lel jutottam előrébb. Eddig mindíg találtam megkerülő megoldást. Most viszont egy jelentésben azt kéne megoldanom, hogy azokat a rekordokat hozza amikben a dátum mező több mint egy évvel korábbi mint a paraméterben megadott dátum. MySQL Command line -ban tökéletesen működő adddate fügvényt átraktam egy lekérdezésbe, de ott hibára fut. Ha a paraméterben megadott dátum helyett konstans értéket írok akkor is hibát ír mindaddig amíg be nem kapcsolom az SQL parancs közvetlen futtatását. Akkor szépen lefut, de mivel ilyen módban nem lehet paramétert megadni, ez nem oldja meg a problémát. Gondolom a "nem közvetlen futtatás" esetén egy HSQLDB -re optimalizált értelmező fut le ami nem tud mit kezdeni az adddate függvénnyel. Kerestem ezért olyan függvényt ami mindkét adatbázisban használható. A datediff az egyetlen ami szóba jöhet, de annak meg különböző paraméterei vannak a két adatbázisban, bármelyik szerint írom a selectet hibára fut. Próbáltam a MySQL adatbázisban saját függvényt létrehozni ami command line -ban működik, de lekérdezésben azt sem tudom használni, bár lehet, hogy rosszul hivatkozom rá, vagy szinonímát kéne létrehozni. Van erre valami megoldás?

Re: Dátumfüggvény gondok HSQLDB és MySQL db-ben

HozzászólásElküldve: 2010. március 16., kedd 16:25
Szerző: Mészáros Tamás
Butters írta:Dátum függvényekkel kezdetek óta gondban vagyok már HSQLDB -ben is és a MySQL -lel jutottam előrébb. Eddig mindíg találtam megkerülő megoldást. Most viszont egy jelentésben azt kéne megoldanom, hogy azokat a rekordokat hozza amikben a dátum mező több mint egy évvel korábbi mint a paraméterben megadott dátum. MySQL Command line -ban tökéletesen működő adddate fügvényt átraktam egy lekérdezésbe, de ott hibára fut. Ha a paraméterben megadott dátum helyett konstans értéket írok akkor is hibát ír mindaddig amíg be nem kapcsolom az SQL parancs közvetlen futtatását. Akkor szépen lefut, de mivel ilyen módban nem lehet paramétert megadni, ez nem oldja meg a problémát. Gondolom a "nem közvetlen futtatás" esetén egy HSQLDB -re optimalizált értelmező fut le ami nem tud mit kezdeni az adddate függvénnyel. Kerestem ezért olyan függvényt ami mindkét adatbázisban használható. A datediff az egyetlen ami szóba jöhet, de annak meg különböző paraméterei vannak a két adatbázisban, bármelyik szerint írom a selectet hibára fut. Próbáltam a MySQL adatbázisban saját függvényt létrehozni ami command line -ban működik, de lekérdezésben azt sem tudom használni, bár lehet, hogy rosszul hivatkozom rá, vagy szinonímát kéne létrehozni. Van erre valami megoldás?

A hibaüzenetet le tudnád irni?

Re: Dátumfüggvény gondok HSQLDB és MySQL db-ben

HozzászólásElküldve: 2010. március 18., csütörtök 13:03
Szerző: r4zoli
Most éppen miben próbálkozol? MySQL vagy HSQLDB alatt?
Ha a paraméterben megadott dátum helyett konstans értéket írok akkor is hibát ír
Mit?
Gondolom a "nem közvetlen futtatás" esetén egy HSQLDB -re optimalizált értelmező fut le ami nem tud mit kezdeni az adddate függvénnyel.

addate HSQLDB 1.8 alatt nem támogatott, lásd a beépített függvények listáját.

A felhasználói felület támogatja a paraméter megadást, a közvetlen futtatás nem.

A datediff az egyetlen ami szóba jöhet, de annak meg különböző paraméterei vannak a két adatbázisban, bármelyik szerint írom a selectet hibára fut.

Mindegyikre mindig külön kell írni, vagy módosítani, egyik sem követei teljesen a szabványos SQL-t, más és más részeket valósít meg a lehetséges választékból.