decode
फ़ंक्शन परिणाम में तीसरे पैरामीटर का डेटाटाइप है। पहले मामले में, चूंकि NULL
. के लिए कोई डेटाटाइप निर्दिष्ट नहीं किया गया है , डिफ़ॉल्ट VARCHAR2 प्रयोग किया जाता है। दूसरे मामले में, DATE को स्पष्ट रूप से मांगा गया है और इसलिए परिणाम एक तारीख है।
दूसरे शब्दों में, पहली क्वेरी वही है:
SELECT DECODE(SYSDATE, SYSDATE + 1, to_char(NULL), to_char(SYSDATE)) FROM DUAL;
इस क्वेरी का आउटपुट आपके NLS_DATE_FORMAT
. के अनुसार स्वरूपित किया जाएगा सत्र पैरामीटर, जबकि दूसरी क्वेरी एक तिथि लौटाएगी जो आपकी क्लाइंट सेटिंग्स के अनुसार प्रदर्शित होगी।