In PostgreSQL is de uitdrukking extract(day from time_from)
retourneert een getal van het type double, dat de dag van de maand vertegenwoordigt. Zaterdag is duidelijk geen geldige dubbel.
Als je het argument voor where()
. nodig hebt om de string 'Saturday' te matchen (om overeen te komen met de dag van de week), gebruik dan de to_char()
functie.
user_calendars.where("trim(to_char(time_from, 'Day')) = ? ", next_day)
Je hebt trim()
. nodig , omdat dit soort aanroep naar to_char()
is opgevuld tot 9 tekens.
Case is significant voor het argument 'Dag'. Als u het intoetst als 'dag', komt de geretourneerde waarde niet overeen met 'zaterdag'. In plaats daarvan een uitdrukking zoals to_char(time_from, 'day')
zal iets teruggeven als 'zaterdag'.