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'.