python - SQLAlchemy : Convert to date type -


यह मेरा mssql कोड स्निपेट है

  बीम चुनें ((केस जब (me.status ('बंद', 'शून्य') और कन्वर्ट (DATE, me.end_dt) = कनवर्ट (DATE, GETDATE ())) तब 1 और 0 अंत)) पूरा हो गया, योग ((प्रकरण जब दिनांकित (एचएच, कलाकार कनवर्ट (DATE, GETDATE ()) varchar के रूप में) + '' 00: 00: 00.000 ', मेरा। Due_dt) 12 और 24 के बीच और मेरे.स्टैटस (' बंद ',' शून्य ') में नहीं तब 1 और 0 अंत में)) के रूप में काउंटर_12_to_24 pvr_svc से मुझे (nolock) के साथ   

क्वेरी के पहले भाग के लिए यह मैं अब तक की कोशिश की है।

  expr = Func.sum (केस ([(और_ (pvr_svc.status.in _ (['बंद', 'वोड']), (func.convert (DATE, pvr_svc.end_dt) == func.convert (DATE, func.current_date ( )))), 1)], else_ = 0))। लेबल ('com') session.query (expr) .scalar ()   

लेकिन मुझे एक त्रुटि कह रही है। / P>

****** NotImplementedError: सचमुच-कोट मान (वर्ग 'sqlalchemy.types.DATE') कैसे नहीं जानते *** ***

मेरे पास कुछ सवाल हैं,

प्रश्न 1 DATE दिनांक से मैं datetime कॉलम मूल्यों को कैसे परिवर्तित कर सकता हूं (उपरोक्त मामले में me.end_dt)?

Q2। Sqlalchemy में GETDATE () के बराबर क्या है? (मैंने कोशिश की है func.current_date (), func.now ())

Q3 एमएसएसपीएल कोड स्निपेट के अंतिम भाग को लागू करने का सही तरीका क्या है?

मैं माध्यम से चला गया है, स्टैक ओवरफ्लो पर कुछ जानकारी मिली, नीचे दिए गए लिंक हैं,

  expr = func.sum (मामले ([(and_ (pvr_svc) .status.in _ (['closed', 'void']), func.strftime ('% y-% m-% d', pvr_svc.end_dt) == func.date ('अब'),), 1) ],   

यह DATE की स्ट्रिंग तुलना केवल (जो कि आप क्या चाहते हैं) लेकिन < YYYY-MM-DD स्वरूप में em> स्ट्रिंग प्रस्तुतिकरण, इसलिए सभी तुलना अपेक्षा के अनुसार कार्य करेंगे।

Comments