webForumDet fria alternativet

HSQL syntax för date()

1 svar · 486 visningar · startad av swingman

swingmanMedlem sedan jan. 200686 inlägg
#1

Hej...nån som vet hur man kan få följande kod att att funka i hsqldb??

SELECT d.name_,i.key_,i.start_,i.end_
FROM   jbpm_processdefinition d, jbpm_processinstance i
WHERE  d.id_ = i.processdefinition_ and (date(i.start_) between '2009-01-01' and '2010-01-20' or date(i.end_) between '2009-01-01' and '2010-01-20');

Koden fungerar bra i mysql men i hsql så fungerar inte funktionen date(). Vad ska jag använda istället eller hur ska jag göra för att lösa det

SPiNMedlem sedan mars 20005 832 inlägg
#2

Nej, date() finns inte tillgänglig som funktion i HSQL.

Däremot finns dayofmonth(), month() och year():

...
where d.id_ = i.processdefinition_
   and
   (year(i.start_) between year('2009-01-01') and year('2010-01-20')
    and
    month(i.start_) = month('2010-01-01')
    and
    dayofmonth(i.start_) between dayofmonth('2009-01-01') and dayofmonth('2010-01-20')
   )
...

Typ. Du får förlänga din where-sats med de kriterier du behöver... Här hittar du funktionsreferenserna.

360 ms totalt · 5 externa anrop · cache AV · v20260730165559-full.0b955084
0 ms — hämta statistik (cache)
118 ms — slå upp tråd (db)
0 ms — hämta forumlista (cache)
123 ms — hämta inlägg (db)
117 ms — hämta bilagor (db)