Di PostgreSQL, ekspresi extract(day from time_from)
mengembalikan sejumlah tipe ganda, mewakili hari dalam sebulan. Sabtu jelas bukan dobel yang valid.
Jika Anda memerlukan argumen ke where()
untuk mencocokkan string 'Sabtu' (untuk mencocokkan hari dalam seminggu), lalu gunakan to_char()
fungsi.
user_calendars.where("trim(to_char(time_from, 'Day')) = ? ", next_day)
Anda membutuhkan trim()
, karena panggilan semacam ini ke to_char()
diisi hingga 9 karakter.
Kasus penting untuk argumen 'Hari'. Jika Anda memasukkannya sebagai 'hari', nilai yang dikembalikan tidak akan cocok dengan 'Sabtu'. Sebagai gantinya, ekspresi seperti to_char(time_from, 'day')
akan mengembalikan sesuatu seperti 'saturday'.