MySQL での正しい、または望ましい不等号演算子の使用
-
20-09-2019 - |
質問
不平等をテストするには、2 つの (意味的に同等の) 方法のうちどちらが望ましいでしょうか?
'foo' != 'bar'
(感嘆符と等号)'foo' <> 'bar'
(より小さい山形記号とより大きい山形記号を組み合わせたもの)
MySQL のドキュメントには、両者に違いがないことが明確に示されていますが、一部の人々はどちらかの方法でのみ実行することに執着しているようです。おそらくこれは単なる無意味な vi 対emacs については議論がありますが、他の人があなたのコード (したがってクエリ) を読んでいるとき、ある程度の一貫性を維持することは役に立ちます。
<>
とても似ています <=>
これはあまり使用されていない演算子ですが、この 2 つはほぼ正反対であるため、一見すると混乱を招く可能性があります (明らかな例外を除く)。 NULL
場合)。
解決
<>それはSQL標準に応じた技術的に、よりポータブルであることから、すべてのものは、等しい優先されなければならない...
!=非標準ですが、ほとんどのdbのは、それを実装します。
SQL:2008文法ます:
<not equals operator> ::=
<>
他のヒント
それは明らかだ。
!文字は、米国のキーボードの北西の角にあります。
マイクロソフトの本社は、米国の北西隅にあるます。
ですから。 <>
はマイクロソフトにうなずきです。
!=
は、マイクロソフトの拒絶である。
これは、秘密政治コードです。
<> SQL-92標準では唯一のものです。
DBAの一般<好き>など!=プログラマー。 ただ、観測: - )
<>
演算子は、SQLを知っているほとんどの人がそれに慣れて、またはそれの少なくとも意識されるように、SQL標準であるものです。私自身は!=
演算子は最近まで、いくつかのSQL方言でも利用可能であったことさえ知らなかった。
、人々はどちらか一方だけを使用する傾向があり、それは、少なくとも、プロジェクト単位で、良いアプローチです。あなたが使用することを選択した方、一貫してます。