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

Oracle में दिनांक को कैसे प्रारूपित और क्रमबद्ध करें?

ऐसा लगता है कि आप कुछ ऐसा चाहते हैं

SELECT to_char( your_date_column, your_format_mask )
  FROM your_table
 ORDER BY your_date_column

SELECT . में सूची, आप एक वर्ण स्ट्रिंग वापस करना चाहते हैं जो आपके पसंदीदा प्रारूप में दिनांक का प्रतिनिधित्व करता है। ORDER BY . में खंड, आप वास्तविक तिथि से आदेश देना चाहते हैं। मानक EMP का उपयोग करना और DEPT टेबल, उदाहरण के लिए

SQL> ed
Wrote file afiedt.buf

  1  select to_char( hiredate, 'DD-MM-YYYY' )
  2    from emp,
  3         dept
  4   where emp.deptno = dept.deptno
  5*  order by hiredate
SQL> /

TO_CHAR(HI
----------
17-12-1980
20-02-1981
22-02-1981
02-04-1981
01-05-1981
09-06-1981
08-09-1981
28-09-1981
17-11-1981
03-12-1981
03-12-1981
23-01-1982
19-04-1987
23-05-1987

14 rows selected.

यदि आप एक DISTINCT जोड़ते हैं, तो समस्या यह है कि Oracle यह नहीं जानता है कि आप जिस फ़ंक्शन को लागू कर रहे हैं (इस मामले में TO_CHAR) तालिका में डेटा से आउटपुट में डेटा तक एक-से-एक मैपिंग प्रदान करता है। उदाहरण के लिए, दो अलग-अलग तिथियां (1 अक्टूबर, 2010 10:15:15 और 1 अक्टूबर 2010 23:45:50) एक ही वर्ण आउटपुट उत्पन्न कर सकती हैं, जिससे Oracle दो '01-10-2010' स्ट्रिंग्स में से एक को समाप्त कर सकता है। लेकिन दोनों तिथियां अलग-अलग क्रमबद्ध होंगी। DISTINCT करने के बाद आप अपनी क्वेरी को नेस्ट करके और स्ट्रिंग को वापस डेट में कनवर्ट करके उस समस्या को ठीक कर सकते हैं। और ORDER BY . करने से पहले

SQL> ed
Wrote file afiedt.buf

  1  select hire_date_str
  2    from (
  3      select distinct to_char( hiredate, 'DD-MM-YYYY' ) hire_date_str
  4        from emp,
  5             dept
  6       where emp.deptno = dept.deptno
  7      )
  8*  order by to_date(hire_date_str,'DD-MM-YYYY')
SQL> /

HIRE_DATE_
----------
17-12-1980
20-02-1981
22-02-1981
02-04-1981
01-05-1981
09-06-1981
08-09-1981
28-09-1981
17-11-1981
03-12-1981
23-01-1982
19-04-1987
23-05-1987

13 rows selected.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tnsname.ora के बिना Oracle से कनेक्ट करें

  2. ऑरैकल रूपों में विशिष्ट टैब पर जा रहे हैं

  3. Plsql में दूसरी पंक्ति का चयन करें

  4. एसक्यूएल आदेश उचित रूप से समाप्त नहीं हुई?

  5. Oracle SQL डेवलपर में डेटाबेस का नाम कैसे क्वेरी करें?