باستخدام المشغل الصحيح ، أو الأفضل ، وليس المساواة في MySQL

StackOverflow https://stackoverflow.com/questions/2066987

سؤال

أي من الطريقين (المكافئين بشكل دلالي) هو الأفضل من اختبار عدم المساواة؟

  1. 'foo' != 'bar' (علامة التعجب وعلامة متساوية)
  2. 'foo' <> 'bar' (أقل من وأكبر من رموز شيفرون معًا)

تشير وثائق MySQL بوضوح إلى أنه لا يوجد فرق بينهما ، ومع ذلك يبدو أن بعض الأشخاص مرتبطون فقط بالقيام بذلك بطريقة أو بأخرى. ربما يكون هذا مجرد نقاش آخر لا معنى له مقابل Emacs ، لكن عندما يقرأ الآخرون الكود الخاص بك (وبالتالي استفساراتك) ، من المفيد الحفاظ على بعض الاتساق.

<> يشبه كثيرا <=> وهو مشغل غير مستقل للغاية ولكنه قد يؤدي إلى الارتباك في لمحة سريعة لأن الاثنين معاكس تقريبًا (باستثناء ما هو واضح NULL حالات).

هل كانت مفيدة؟

المحلول

<> يجب أن تكون مفضلة ، كل الأشياء متساوية ، لأنها تتوافق مع معيار SQL وهي أكثر تحملاً تقنيًا ...

! = غير قياسي ، ولكن معظم ديسيبل ينفذها.

SQL: 2008 القواعد:

<not equals operator> ::=
  <>

نصائح أخرى

من الواضح.

ال ! الشخصية في الركن الشمالي الغربي من لوحات المفاتيح الأمريكية.

مقر Microsoft في الركن الشمالي الغربي من الولايات المتحدة.

لذا. <> هو إشارة إلى Microsoft.

!= هو رفض Microsoft.

إنه قانون سياسي سري.

<> هو الوحيد في معيار SQL-92.

DBA بشكل عام مثل <> والمبرمجين مثل! =. مجرد ملاحظة :-)

إنهم متشابهون، إنه تفضيل بحت.

هذا يجب أن يعطيك فكرة جيدة

العاملين

! = (لا يساوي) لا يساوي (ليس معيار SQL-92)

<> (لا يساوي) لا يساوي

ال <> المشغل هو الذي هو في معيار SQL ، لذلك فإن معظم الأشخاص الذين يعرفون SQL سوف يعتادون عليه ، أو على الأقل على دراية به. أنا شخصيا لم أكن على دراية بذلك != كان المشغل متاحًا أيضًا في بعض لهجات SQL حتى وقت قريب.

كما لاحظت ، يميل الناس إلى استخدام واحد أو آخر فقط ، وهذا نهج جيد ، على الأقل على أساس كل مشروع على حدة. أيهما تختار استخدامه ، كن متسقًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top