मारियाडीबी में एक RTRIM()
है फ़ंक्शन और एक RTRIM_ORACLE()
समारोह। दोनों कार्य अनिवार्य रूप से एक ही काम करते हैं। लेकिन एक छोटा सा अंतर है।
अंतर
अंतर यह है कि प्रत्येक फ़ंक्शन खाली स्ट्रिंग्स से कैसे निपटता है:
RTRIM()
एक स्ट्रिंग से पिछली जगहों को हटा देता है। जब एक खाली स्ट्रिंग पास की जाती है, तो परिणाम इस बात पर निर्भर करेगा कि आप Oracle मोड में हैं या नहीं। यदि Oracle मोड में है, तो यहnull
returns लौटाता है . अन्यथा यह एक खाली स्ट्रिंग देता है।RTRIM_ORACLE()
RTRIM()
. के Oracle मोड संस्करण का पर्याय है . यहRTRIM()
like जैसा व्यवहार करता है Oracle मोड में (यहnull
लौटाता है) जब एक खाली स्ट्रिंग पास की गई), तब भी जब Oracle मोड में न हो।
तो RTRIM_ORACLE()
बिल्कुल RTRIM()
. की तरह काम करता है जब ओरेकल मोड में। लेकिन जब Oracle मोड में नहीं होता है, तो फर्क सिर्फ इतना होता है कि प्रत्येक फंक्शन खाली स्ट्रिंग्स से कैसे निपटता है।
उदाहरण
इसे एक उदाहरण से सबसे अच्छी तरह समझाया गया है।
डिफ़ॉल्ट मोड
डिफ़ॉल्ट मोड में इन कार्यों की तुलना यहां दी गई है:
SET SQL_MODE=DEFAULT;
SELECT
RTRIM(''),
RTRIM_ORACLE('');
परिणाम:
+-----------+------------------+ | RTRIM('') | RTRIM_ORACLE('') | +-----------+------------------+ | | NULL | +-----------+------------------+
सबसे पहले, मैंने अपने सिस्टम को डिफ़ॉल्ट मोड पर सेट किया (भले ही यह शायद पहले से ही डिफ़ॉल्ट मोड में था), फिर मैंने दोनों कार्यों को एक खाली स्ट्रिंग के साथ चलाया।
हम देख सकते हैं कि RTRIM()
एक खाली स्ट्रिंग देता है, जबकि RTRIM_ORACLE()
रिटर्न null
।
Oracle मोड
अब इसे Oracle मोड पर सेट करते हैं और कोड को फिर से चलाते हैं:
SET SQL_MODE=ORACLE;
SELECT
RTRIM(''),
RTRIM_ORACLE('');
परिणाम:
+-----------+------------------+ | RTRIM('') | RTRIM_ORACLE('') | +-----------+------------------+ | NULL | NULL | +-----------+------------------+
हम देख सकते हैं कि RTRIM()
अब RTRIM_ORACLE()
like जैसा व्यवहार करता है ।
तो, RTRIM()
. के साथ , इससे पहले कि हम इसे RTRIM()
के Oracle संस्करण की तरह व्यवहार करें, हमें स्पष्ट रूप से Oracle मोड में स्विच करने की आवश्यकता है ।
RTRIM_ORACLE()
दूसरी ओर, सभी मोड में उपलब्ध है, इसलिए यह हमें Oracle मोड में स्विच करने से बचाता है।