不平等をテストするには、2つの方法(意味的に同等)のどちらが望ましいですか?
'foo' != 'bar'
(感嘆符と等号)'foo' <> 'bar'
(一緒にシェブロンシンボル未満およびより大きい)MySQLのドキュメントには、両者に違いはないことが明確に示されていますが、一部の人々は、どちらか一方の方法でのみ行うことに執着しているようです。多分これは別の無意味なvi対emacsの議論ですが、他の人があなたのコード(したがってあなたのクエリ)を読んでいるとき、ある程度の一貫性を維持することは役に立ちます。
<>
は<=>
によく似ています。これはあまり使用されていない演算子ですが、2つがほぼ反対であるため、一目で混乱する可能性があります(明らかなNULL
の場合を除きます)。
<>はsql規格に準拠しており、技術的には移植性が高いため、すべて同じであることが望ましいです...
!=は非標準ですが、ほとんどのデータベースはそれを実装しています。
sql:2008文法:
<not equals operator> ::=
<>
明らかです。
!文字は、米国のキーボードの北西隅にあります。
マイクロソフトの本社は米国の北西部にあります。
そう。 <>
はMicrosoftに対する同意です。
!=
はマイクロソフトの拒否です。
それは秘密の政治法典です。
<>はSQL-92標準で唯一のものです。
DBAは一般的に<>が好きで、プログラマは!=が好きです。ただの観察:-)
<>
演算子はSQL標準にある演算子なので、SQLを知っているほとんどの人はSQLに慣れているか、少なくともそれに気づいています。私自身もそのことに気づいていませんでした!=
演算子は、最近まで一部のSQL方言でも使用可能でした。
お気づきのように、人々はどちらか一方のみを使用する傾向があり、それは少なくともプロジェクトごとに良いアプローチです。どちらを使用する場合でも、一貫してください。