Dans PostgreSQL, l'expression extract(day from time_from)
renvoie un nombre de type double, représentant le jour du mois. Samedi n'est clairement pas un double valide.
Si vous avez besoin de l'argument where()
pour faire correspondre la chaîne 'samedi' (pour faire correspondre le jour de la semaine), puis utilisez le to_char()
fonction.
user_calendars.where("trim(to_char(time_from, 'Day')) = ? ", next_day)
Vous avez besoin de trim()
, car ce type d'appel à to_char()
est complété à 9 caractères.
La casse est significative pour l'argument 'Jour'. Si vous saisissez 'jour', la valeur renvoyée ne correspondra pas à 'samedi'. Au lieu de cela, une expression comme to_char(time_from, 'day')
renverra quelque chose comme 'samedi'.