Почему в языке SQL два оператора отрицания? !=
и <>
.
Являются ли они избыточными или между ними есть разница в зависимости от операндов?
Какой из них я должен использовать для отрицания строк в MySQL
?
Почему в языке SQL два оператора отрицания? !=
и <>
.
Являются ли они избыточными или между ними есть разница в зависимости от операндов?
Какой из них я должен использовать для отрицания строк в MySQL
?
<>
является стандартом ISO Sql!=
зависит от поставщикаОни оба не имеют никакой разницы между собой. Это просто личное предпочтение, какой из них использовать. Я всегда предпочитаю <>
, поскольку это стандарт ISO SQL.
Стандарт SQL указывает только <>
для не равно. SQL:2011 Foundation, раздел 5.2 <token>
и <separator>
определяет:
<not equals operator> ::= <>
Однако некоторые реализации SQL (например, MySQL) также поддерживают !=
, поскольку многие программисты более знакомы с !=
для не равных. Они полностью эквивалентны, поэтому вы можете использовать любой из них, но с точки зрения стандартов вам следует использовать <>
.
См. также документацию MySQL для не равно.
!=
, но нет причин для отрицательного ответа на этот ответ.
- person Gordon Linoff; 12.12.2015