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 20007 896 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.

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)