PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

बाल्टियों में वस्तुओं को छांटना वैध JPQL अभिव्यक्ति के रूप में कैसे तैयार किया जा सकता है?

सबसे पहले, आपको startDate . के बीच अंतर की गणना करने के लिए एक JPA तरीके की आवश्यकता है और pageDate संबंधित इकाई में, जिसे तैयार करना कुछ कठिन है क्योंकि यह बहुत डेटाबेस पर निर्भर है। अंत में आपको कुछ कस्टम फ़ंक्शन की आवश्यकता होगी या एक बहुत ही जटिल JPQL क्वेरी लिखनी होगी।

PostgreSQL में दो तिथियों के बीच के दिनों की गणना करना उतना ही आसान है जितना कि date_part('day', t2 - t1) करना . घंटों के लिए आपको पहले से ही date_part('day', t2 - t1) * 24 + date_part('hour', t2 - t1) चाहिए। और मिनट date_part('day', t2 - t1) * 24 * 60 + date_part('hour', t2 - t1) * 60 + date_part('minute', t2 - t1)

JPQL में इन डेटाबेस फ़ंक्शंस का उपयोग करने के लिए, आप FUNCTION . का उपयोग कर सकते हैं सिंटैक्स जैसे FUNCTION('date_part', 'day', :startDate - pageDate)

अंत में, आप इस तरह के एक एक्सप्रेशन के आधार पर ग्रुपिंग करेंगे और आईडी के आधार पर एक काउंट करेंगे, कुछ इस तरह होगा

SELECT COUNT(o.id) FROM MyObject o GROUP BY FUNCTION('date_part', 'day', :startDate - o.pageDate)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL ORDER BY CASE with UNION ALL

  2. संदेश 28000:होस्ट \xx.xxx.xxx.xxxx\ के लिए कोई pg_hba.conf प्रविष्टि नहीं, उपयोगकर्ता \उपयोगकर्ता, डेटाबेस \databasename\, SSL बंद

  3. जांचें कि पोस्टग्रेज सरणी में NULL मौजूद है या नहीं

  4. संबंधित मॉडल को शामिल करते समय उत्सुक लोडिंग त्रुटि को अनुक्रमित करें

  5. एक अजगर virtualenv के भीतर django-टूलकिट स्थापित करने का प्रयास करते समय त्रुटि