V PostgreSQL výraz extract(day from time_from)
vrátí číslo typu double, představující den v měsíci. Sobota zjevně není platný dvojník.
Pokud potřebujete argument pro where()
chcete-li odpovídat řetězci 'Saturday' (aby odpovídal dni v týdnu), pak použijte to_char()
funkce.
user_calendars.where("trim(to_char(time_from, 'Day')) = ? ", next_day)
Potřebujete trim()
, protože tento druh volání to_char()
je vyplněno na 9 znaků.
Případ je významný pro argument „den“. Pokud jej zadáte jako „den“, vrácená hodnota se nebude shodovat se „sobota“. Místo toho výraz jako to_char(time_from, 'day')
vrátí něco jako 'sobota'.