PostgreSQL में, अभिव्यक्ति extract(day from time_from)
कई प्रकार के डबल लौटाता है, जो महीने के दिन का प्रतिनिधित्व करता है। शनिवार स्पष्ट रूप से मान्य डबल नहीं है।
यदि आपको where()
के लिए तर्क की आवश्यकता है स्ट्रिंग 'शनिवार' (सप्ताह के दिन से मेल खाने के लिए) से मिलान करने के लिए, फिर to_char()
का उपयोग करें समारोह।
user_calendars.where("trim(to_char(time_from, 'Day')) = ? ", next_day)
आपको trim()
की आवश्यकता है , क्योंकि इस तरह की कॉल to_char()
9 वर्णों के लिए गद्देदार है।
मामला 'दिन' तर्क के लिए महत्वपूर्ण है। यदि आप इसे 'दिन' के रूप में कुंजी करते हैं, तो लौटाया गया मान 'शनिवार' से मेल नहीं खाएगा। इसके बजाय, to_char(time_from, 'day')
. जैसी अभिव्यक्ति 'शनिवार' जैसा कुछ लौटाएगा।