Oracle Sql में "=!" और "<>" के बीच कोई अंतर है?


123

मैं जानना चाहूंगा कि क्या दोनों के बीच कोई मतभेद हैं not equal ऑपरेटरों के<> और !=ओरेकल ।

क्या ऐसे मामले हैं जहां वे अलग-अलग परिणाम या अलग प्रदर्शन दे सकते हैं?



जवाबों:


109

नहीं, कार्यक्षमता में कोई अंतर नहीं है।
(सभी अन्य DBMS के लिए भी यही सच है - उनमें से ज्यादातर दोनों शैलियों का समर्थन करते हैं):

यहाँ वर्तमान एसक्यूएल संदर्भ है: https://docs.oracle.com/database/121/SQLRF/conditions002.htm#CJAGAABC

SQL मानक केवल एक ऑपरेटर को " बराबर नहीं " के लिए परिभाषित करता है और वह है<>


14
एक XML फ़ाइल में स्टोर करना आसान है!
मार्क मैकलारेन

क्या IS NOTसमतुल्य / समानार्थी / .. <>और है !=? क्या तीनों को एक ही तरह से इस्तेमाल किया जा सकता है?
पोषक तत्वों के बारे में natty

50

दरअसल, इस ऑपरेटर के चार रूप हैं :

<>
!=
^=

और भी

¬= -- worked on some obscure platforms in the dark ages

जो एक ही हैं, लेकिन एक वर्बटीम मैच की आवश्यकता होने पर अलग तरीके से इलाज किया जाता है (संग्रहीत रूपरेखा या कैश्ड क्वेरीज़)।


2
और विविधताओं NOT(x = y), जैसे , शायद !(x = y), आदि?
माटबेली

1
दिलचस्प! मुझे इसके बारे में पता नहीं था ^=(मैंने इसे पहली बार देखा था जब मैंने मैनुअल की लिंक पोस्ट की थी)। लेकिन कैश्ड क्वेश्चन के बारे में आपकी बात अच्छी है।
a_horse_with_no_name

1
@ लगता है: में Oracle, बूलियन प्रथम श्रेणी का प्रकार नहीं है SQL(जो अलग है PL/SQL)। अर्थात। आप SELECT 1 = 1 FROM dualकुछ अन्य प्रणालियों में पसंद नहीं कर सकते । तो बूलियन्स केवल तार्किक संदर्भों (में मान्य ऑपरेटरों के लिए अपने स्वयं के सेट है WHEREया HAVINGया इसी तरह के खंड)। NOTओरेकल SQL(AFAIK) में केवल बूलियन नकार ऑपरेटर है ।
क्वासोई

3
¬= -- worked on some obscure platforms in the dark ages- हाँ, उन्हें "आईबीएम मेनफ्रेम" कहा जाता था। उन दिनों से जब पुरुष पुरुष थे, महिलाएं महिलाएं थीं, डायनासोर पृथ्वी पर घूमते थे, और कंप्यूटर पानी से ठंडा हो जाते थे। :-)
बॉब जार्विस -

1

विश्वविद्यालय में हमें 'सर्वश्रेष्ठ अभ्यास' सिखाया जाता था, जिसका उपयोग करना था! = नियोक्ताओं के लिए काम करते समय, हालांकि उपरोक्त सभी ऑपरेटरों की कार्यक्षमता समान है।


14
SQL मानक (केवल) <>"बराबर नहीं" ऑपरेटर के रूप में परिभाषित करता है । इसलिए मैं इसे "सर्वोत्तम अभ्यास" के रूप में उपयोग करने पर विचार
करूंगा

2
दिलचस्प। मुझे जो कुछ सिखाया गया है वह सब कुछ जांचना होगा और यह एसक्यूएल मानक का है या नहीं। इस पर ध्यान दिलाने के लिए धन्यवाद।

11
संभवतः मेरी सी विरासत बाहर आ रही है, लेकिन मैं खड़े नहीं हो सकता <>और पसंद नहीं कर सकता !=। मुख्य रूप <>से इसके "मेरे से कम या अधिक" कहने के कारण , मुझे लगता है कि डेटाटाइप का एक अंतर्निहित आदेश है (जो जरूरी नहीं कि सच हो, हालांकि यह सभी SQL डेटाटाइप्स के लिए सही है), जबकि !="बराबर नहीं है" कह रहा है बहुत शुद्ध अर्थों में।
जेफरी केम्प

1
कोडिंग मानक अक्सर नियोक्ता पर निर्भर होते हैं। यदि आपके नियोक्ता के पास कोडिंग मानक नहीं है, तो टीम के लिए जनता को चुनना एक अच्छा विचार है।
डेनिस स्किडमोर

-3

इस लेख के अनुसार; = तेजी से प्रदर्शन करता है

http://www.dba-oracle.com/t_not_equal_operator.htm


18
हालांकि लोकप्रिय, वह वेबसाइट दुर्भाग्य से कई विषयों पर एक विश्वसनीय स्रोत नहीं है। इस मुद्दे पर पहले यहां चर्चा की गई थी । इनाम के बावजूद, कोई भी प्रदर्शन में ध्यान देने योग्य अंतर का प्रदर्शन करते हुए एक परीक्षण मामला बनाने में सक्षम नहीं था। लेकिन मेरा प्रस्ताव अभी भी खड़ा है - मैं आपको 500 अंक का इनाम दूंगा यदि आप एक परीक्षण मामला बना सकते हैं जो दिखा रहा है! = अन्य न के बराबर ऑपरेटरों की तुलना में तेज़ है।
जॉन हेलर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.