32

次のような単純なテーブルを使用する場合:

create table test ( a int );
insert into test values ( 1 ) , ( 2 ) , ( 2 ) , ( 3 );
select * from test where a <> 2;
select * from test where a != 2;

どちらも私に与えます:

+------+
| a    |
+------+
|    1 |
|    3 |
+------+
2 rows in set (0.00 sec)

<>では、と!=mysql オペレーターの違いは何ですか?

4

4 に答える 4

28

<>SQL標準に準拠しており、技術的に移植性が高いため、すべてが等しい場合に優先する必要があります...

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

SQL:2008 文法:

<not equals operator> ::=
  <>
于 2013-01-04T15:10:58.967 に答える
26

どちらもまったく同じです。ドキュメントを参照してください。

http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#operator_not-equal

于 2013-01-04T15:03:21.650 に答える
6

変わりはない。<>SQL標準、!=非標準です。

于 2013-01-04T15:04:04.633 に答える
2

何もない。同じことを単に 2 つの異なる方法で書く

于 2013-01-04T15:03:54.280 に答える