PostgreSQLでは、式extract(day from time_from)
月の日を表すdouble型の数値を返します。 土曜日 明らかに有効なダブルではありません。
where()
への引数が必要な場合 文字列「Saturday」に一致させる(曜日に一致させる)には、to_char()
を使用します。 機能。
user_calendars.where("trim(to_char(time_from, 'Day')) = ? ", next_day)
trim()
が必要です 、to_char()
へのこの種の呼び出しのため 9文字に埋め込まれます。
引数「Day」では大文字と小文字が区別されます。 'day'と入力すると、戻り値は'Saturday'と一致しません。代わりに、to_char(time_from, 'day')
のような式 「土曜日」のようなものが返されます。