web-dev-qa-db-ja.com

MySQLで正しい、または望ましい、等しくない演算子を使用する

不平等をテストするには、2つの方法(意味的に同等)のどちらが望ましいですか?

  1. 'foo' != 'bar'(感嘆符と等号)
  2. 'foo' <> 'bar'(一緒にシェブロンシンボル未満およびより大きい)

MySQLのドキュメントには、両者に違いはないことが明確に示されていますが、一部の人々は、どちらか一方の方法でのみ行うことに執着しているようです。多分これは別の無意味なvi対emacsの議論ですが、他の人があなたのコード(したがってあなたのクエリ)を読んでいるとき、ある程度の一貫性を維持することは役に立ちます。

<><=>によく似ています。これはあまり使用されていない演算子ですが、2つがほぼ反対であるため、一目で混乱する可能性があります(明らかなNULLの場合を除きます)。

35
Rob Van Dam

<>はsql規格に準拠しており、技術的には移植性が高いため、すべて同じであることが望ましいです...

!=は非標準ですが、ほとんどのデータベースはそれを実装しています。

sql:2008文法:

<not equals operator> ::=
  <>
51
jspcal

明らかです。

!文字は、米国のキーボードの北西隅にあります。

マイクロソフトの本社は米国の北西部にあります。

そう。 <>はMicrosoftに対する同意です。

!=はマイクロソフトの拒否です。

それは秘密の政治法典です。

19
S.Lott

<>はSQL-92標準で唯一のものです。

4
Joe

DBAは一般的に<>が好きで、プログラマは!=が好きです。ただの観察:-)

2
JonH

それらは同じですそれは純粋に好みです

これはあなたに良いアイデアを与えるでしょう

演算子

!=(等しくない)等しくない(SQL-92標準ではない)

<>(等しくない)等しくない

2
Adriaan Stander

<>演算子はSQL標準にある演算子なので、SQLを知っているほとんどの人はSQLに慣れているか、少なくともそれに気づいています。私自身もそのことに気づいていませんでした!=演算子は、最近まで一部のSQL方言でも使用可能でした。

お気づきのように、人々はどちらか一方のみを使用する傾向があり、それは少なくともプロジェクトごとに良いアプローチです。どちらを使用する場合でも、一貫してください。

0
Guffa