मैं जानना चाहूंगा कि क्या दोनों के बीच कोई मतभेद हैं not equal
ऑपरेटरों के<>
और !=
ओरेकल ।
क्या ऐसे मामले हैं जहां वे अलग-अलग परिणाम या अलग प्रदर्शन दे सकते हैं?
मैं जानना चाहूंगा कि क्या दोनों के बीच कोई मतभेद हैं not equal
ऑपरेटरों के<>
और !=
ओरेकल ।
क्या ऐसे मामले हैं जहां वे अलग-अलग परिणाम या अलग प्रदर्शन दे सकते हैं?
जवाबों:
नहीं, कार्यक्षमता में कोई अंतर नहीं है।
(सभी अन्य DBMS के लिए भी यही सच है - उनमें से ज्यादातर दोनों शैलियों का समर्थन करते हैं):
यहाँ वर्तमान एसक्यूएल संदर्भ है: https://docs.oracle.com/database/121/SQLRF/conditions002.htm#CJAGAABC
SQL मानक केवल एक ऑपरेटर को " बराबर नहीं " के लिए परिभाषित करता है और वह है<>
IS NOT
समतुल्य / समानार्थी / .. <>
और है !=
? क्या तीनों को एक ही तरह से इस्तेमाल किया जा सकता है?
दरअसल, इस ऑपरेटर के चार रूप हैं :
<>
!=
^=
और भी
¬= -- worked on some obscure platforms in the dark ages
जो एक ही हैं, लेकिन एक वर्बटीम मैच की आवश्यकता होने पर अलग तरीके से इलाज किया जाता है (संग्रहीत रूपरेखा या कैश्ड क्वेरीज़)।
NOT(x = y)
, जैसे , शायद !(x = y)
, आदि?
^=
(मैंने इसे पहली बार देखा था जब मैंने मैनुअल की लिंक पोस्ट की थी)। लेकिन कैश्ड क्वेश्चन के बारे में आपकी बात अच्छी है।
Oracle
, बूलियन प्रथम श्रेणी का प्रकार नहीं है SQL
(जो अलग है PL/SQL
)। अर्थात। आप SELECT 1 = 1 FROM dual
कुछ अन्य प्रणालियों में पसंद नहीं कर सकते । तो बूलियन्स केवल तार्किक संदर्भों (में मान्य ऑपरेटरों के लिए अपने स्वयं के सेट है WHERE
या HAVING
या इसी तरह के खंड)। NOT
ओरेकल SQL
(AFAIK) में केवल बूलियन नकार ऑपरेटर है ।
¬= -- worked on some obscure platforms in the dark ages
- हाँ, उन्हें "आईबीएम मेनफ्रेम" कहा जाता था। उन दिनों से जब पुरुष पुरुष थे, महिलाएं महिलाएं थीं, डायनासोर पृथ्वी पर घूमते थे, और कंप्यूटर पानी से ठंडा हो जाते थे। :-)
विश्वविद्यालय में हमें 'सर्वश्रेष्ठ अभ्यास' सिखाया जाता था, जिसका उपयोग करना था! = नियोक्ताओं के लिए काम करते समय, हालांकि उपरोक्त सभी ऑपरेटरों की कार्यक्षमता समान है।
<>
"बराबर नहीं" ऑपरेटर के रूप में परिभाषित करता है । इसलिए मैं इसे "सर्वोत्तम अभ्यास" के रूप में उपयोग करने पर विचार
<>
और पसंद नहीं कर सकता !=
। मुख्य रूप <>
से इसके "मेरे से कम या अधिक" कहने के कारण , मुझे लगता है कि डेटाटाइप का एक अंतर्निहित आदेश है (जो जरूरी नहीं कि सच हो, हालांकि यह सभी SQL डेटाटाइप्स के लिए सही है), जबकि !=
"बराबर नहीं है" कह रहा है बहुत शुद्ध अर्थों में।
इस लेख के अनुसार; = तेजी से प्रदर्शन करता है