2010-11-14 11 views
5

किसी क्वेरी में डेटाटाइम फ़ील्ड का केवल दिनांक भाग का उपयोग करने का सबसे अच्छा तरीका क्या है?
मेरे पास डेटाटाइम फ़ील्ड है और तिथि के अनुसार समूह/गिनना चाहता हूं।जानकारी SQL: किसी क्वेरी में डेटाटाइम फ़ील्ड का दिनांक भाग कैसे प्राप्त करें?

उत्तर

15

यह करने के तरीके की एक संख्या हैं: - कम से कम के रूप में -

EXTEND(dt_field, YEAR TO DAY) 
CAST(dt_field AS DATETIME YEAR TO DAY) 
dt_field::DATETIME YEAR TO DAY 
CAST(dt_field AS DATE) 
dt_field::DATE 
DATE(dt_field) 

सरलतम पिछले दो हैं, और समारोह अंकन शायद सबसे स्पष्ट है। पहले तीन आपको DATETIME मान के साथ छोड़ देते हैं; अंतिम तीन आपको DATE मान के साथ छोड़ देता है। ये समान हैं, लेकिन समान नहीं हैं। हालांकि वे काफी स्वतंत्र रूप से विनिमय योग्य हैं।

+0

और फिर .... यह सिर्फ does not बंद करो, लेकिन मैं इसे प्यार करता हूँ – CheeseConQueso

2

यह

to_char(dt_field, "%d %B %Y") 

31 May 2016 के रूप में देता है।

समूह के लिए:

SELECT YEAR(dt_field) year, MONTH(dt_field) month, COUNT(*) count 
FROM tblName 
GROUP BY 1, 2 
ORDER BY 1, 2; 
संबंधित मुद्दे