Я хотел бы знать, существуют ли какие-либо различия между двумя операторами not equal
<>
и !=
в Oracle.
Существуют ли случаи, когда они могут давать разные результаты или различную производительность?
Нет никакой разницы в функциональности.
(То же самое верно для всех других СУБД - большинство из них поддерживают оба стиля):
Вот текущая ссылка SQL: https://docs.oracle.com/database/121/SQLRF/conditions002.htm#CJAGAABC
Стандарт SQL определяет только один оператор для "не равно", а это <>
На самом деле существуют формы четыре этого оператора:
<>
!=
^=
и даже
¬= -- worked on some obscure platforms in the dark ages
которые являются одинаковыми, но обрабатываются по-разному, когда требуется дословное совпадение (сохраненные контуры или кешированные запросы).
NOT(x = y)
, может быть !(x = y)
и т. Д.?
^=
(сам впервые увидел, когда выложил ссылку на руководство). Но ваша точка зрения о кешированных запросах хорошая.
В университете нас учили "лучшей практике" использовать!= при работе для работодателей, хотя все вышеперечисленные операторы имеют одинаковую функциональность.
<>
как оператор "не равно". Поэтому я хотел бы использовать это как «лучшую практику»
В соответствии с этой статьей!= выполняется быстрее