I PostgreSQL, udtrykket extract(day from time_from)
returnerer et tal af typen dobbelt, der repræsenterer dagen i måneden. lørdag er tydeligvis ikke en gyldig dobbelt.
Hvis du har brug for argumentet til where()
for at matche strengen 'Saturday' (for at matche ugedagen), så brug to_char()
funktion.
user_calendars.where("trim(to_char(time_from, 'Day')) = ? ", next_day)
Du skal bruge trim()
, fordi denne form for kald til to_char()
er polstret til 9 tegn.
Case er vigtig for argumentet 'Dag'. Hvis du indtaster det som 'dag', vil den returnerede værdi ikke matche 'lørdag'. I stedet et udtryk som to_char(time_from, 'day')
vil returnere noget som 'lørdag'.