In PostgreSQL, l'espressione extract(day from time_from)
restituisce un numero di tipo double, che rappresenta il giorno del mese. Sabato chiaramente non è un doppio valido.
Se hai bisogno dell'argomento per where()
per abbinare la stringa 'Saturday' (per abbinare il giorno della settimana), quindi utilizzare to_char()
funzione.
user_calendars.where("trim(to_char(time_from, 'Day')) = ? ", next_day)
Hai bisogno di trim()
, perché questo tipo di chiamata a to_char()
è riempito a 9 caratteri.
Il caso è significativo per l'argomento "Giorno". Se lo digiti come "giorno", il valore restituito non corrisponderà a "sabato". Invece, un'espressione come to_char(time_from, 'day')
restituirà qualcosa come 'sabato'.