वह फ़ंक्शन Oracle RDMBS में मौजूद नहीं है; यह स्पष्ट रूप से Oracle लाइट (जिसका मैंने कभी सामना नहीं किया) में किया था और मेरा मानना है कि यह MySQL जैसे अन्य डेटाबेस में है।
डेटाटाइम और अंतराल अंकगणित जो आपको वहां के रास्ते का हिस्सा मिलेगा; आप या तो एक टाइमस्टैम्प को दूसरे से घटा सकते हैं; या एक तारीख से दूसरी तारीख, या दोनों का मिश्रण - लेकिन एक डेटा प्रकार से चिपके रहना आसान है। आप जो उपयोग करते हैं उसके आधार पर आपको या तो एक अंतराल या दिनों की संख्या का प्रतिनिधित्व करने वाला एक नंबर मिलेगा:
DUAL सेSQL> SELECT CURRENT_TIMESTAMP - TIMESTAMP '1998-12-09 00:00:00' FROM DUAL;
CURRENT_TIMESTAMP-TIMESTAMP'1998-12-0900:00:00'
---------------------------------------------------------------------------
+000006169 16:16:21.287166000
SQL> SELECT CURRENT_DATE - DATE '1998-12-09' FROM DUAL;
CURRENT_DATE-DATE'1998-12-09'
-----------------------------
6169.67775
यदि आप केवल पूरे दिनों की संख्या चाहते हैं तो आप <का उपयोग कर सकते हैं। कोड>अर्क ()
अंतराल के लिए केवल वांछित तत्व प्राप्त करने के लिए, या ट्रंक ()
संख्या के लिए भिन्नात्मक भाग को हटाने के लिए:
SQL> SELECT EXTRACT(DAY FROM CURRENT_TIMESTAMP - TIMESTAMP '1998-12-09 00:00:00') FROM DUAL;
EXTRACT(DAYFROMCURRENT_TIMESTAMP-TIMESTAMP'1998-12-0900:00:00')
---------------------------------------------------------------
6169
SQL> SELECT TRUNC(CURRENT_DATE - DATE '1998-12-09') FROM DUAL;
TRUNC(CURRENT_DATE-DATE'1998-12-09')
------------------------------------
6169
आप trunc()
भी कर सकते हैं
यदि आप चाहें तो तुलना से पहले की वर्तमान तिथि, इसलिए आप दोनों की तुलना मध्यरात्रि में कर रहे हैं, जिसका अर्थ है कि निकालने के लिए कोई भिन्नात्मक दिन नहीं होगा:
SQL> SELECT TRUNC(CURRENT_DATE) - DATE '1998-12-09' FROM DUAL;
TRUNC(CURRENT_DATE)-DATE'1998-12-09'
------------------------------------
6169
मैंने निश्चित तिथि के लिए एएनएसआई तिथि अक्षर का उपयोग किया है, लेकिन आप मौजूदा तिथि या टाइमस्टैम्प चर या कॉलम का उपयोग कर सकते हैं; या to_date()
या to_timestamp()
यदि आपके पास एक अलग प्रारूप में एक स्ट्रिंग है।
आप extract()
. का भी उपयोग कर सकते हैं अंतराल के घटकों को संयुक्त मान में बदलने के लिए, जैसा कि यहां दिखाया गया है
; और यह भी सुनिश्चित करें कि आप current_date
के बीच के अंतर से अवगत हैं। और sysdate
, और टाइमस्टैम्प समकक्ष
।