I PostgreSQL, uttrycket extract(day from time_from)
returnerar ett nummer av typen dubbel, som representerar dagen i månaden. Lördag är uppenbarligen inte en giltig dubbel.
Om du behöver argumentet till where()
för att matcha strängen 'Saturday' (för att matcha veckodagen), använd sedan to_char()
funktion.
user_calendars.where("trim(to_char(time_from, 'Day')) = ? ", next_day)
Du behöver trim()
, eftersom den här typen av anrop till to_char()
är vadderad till 9 tecken.
Casen är betydelsefull för argumentet "Dag". Om du anger det som "dag", kommer det returnerade värdet inte att matcha "lördag". Istället ett uttryck som to_char(time_from, 'day')
kommer att returnera något som "lördag".