В PostgreSQL, изразът extract(day from time_from)
връща число от тип double, представляващо деня от месеца. Събота очевидно не е валидно двойно.
Ако имате нужда от аргумента на where()
за да съответства на низа „събота“ (за да съответства на деня от седмицата), след това използвайте to_char()
функция.
user_calendars.where("trim(to_char(time_from, 'Day')) = ? ", next_day)
Имате нужда от trim()
, защото този вид извикване на to_char()
е подплатен до 9 знака.
Регистърът е важен за аргумента „Ден“. Ако го въведете като „ден“, върнатата стойност няма да съответства на „събота“. Вместо това, израз като to_char(time_from, 'day')
ще върне нещо като „събота“.