Oracle не равен оператору

Есть два не равных оператора - != и <>.

Какая разница между ними? Я слышал, что != более эффективен, чем другой для сравнения строк. Может ли кто-нибудь дать качественный комментарий к этому утверждению.

Ответ 1

Они одинаковы (как и третья форма, ^=).

Обратите внимание, что они все еще считаются отличными от точки зрения анализатора, то есть сохраненный контур, определенный для !=, не будет соответствовать <> или ^=.

Это не похоже на PostgreSQL, где парсер рассматривает != и <> еще на этапе синтаксического анализа, поэтому вы не можете перегружать != и <> для разных операторов.

Ответ 2

Между ними нет функциональной или разницы в производительности. Используйте любой синтаксис для вас.

Это просто как использование AS и IS при объявлении функции или процедуры. Они полностью взаимозаменяемы.

Ответ 3

Они те же, но я слышал, что люди говорят, что разработчики используют !=, а BA используют <>

Ответ 4

Как все говорили, нет никакой разницы. (Как проверка работоспособности, я сделал несколько тестов, но это была пустая трата времени, конечно, они работают одинаково.)

Но существуют действительно четыре типа операторов неравенства:! =, ^ =, < > и ¬ =. См. эту страницу в ссылке Oracle SQL. На веб-сайте четвертый оператор отображается как ÿ =, но в PDF он отображается как ¬ =. Согласно документации некоторые из них недоступны на некоторых платформах. Что на самом деле означает, что ¬ = почти никогда не работает.

Просто из любопытства, мне очень хотелось бы знать, в какой среде работает ¬ =.

Ответ 5

Разработчики, использующие mybatis-подобную структуру, предпочтут!= over < > . Причина, заключающаяся в < > , должна быть обернута в CDATA, поскольку ее можно интерпретировать как синтаксис xml. Легче и на глазах.

Ответ 6

Разница заключается в следующем:

"Если вы используете !=, он возвращает подсечку. Если вы используете <>, для возврата требуется 7 секунд. Оба возвращают правильный ответ."

Oracle не равен (! =) SQL-оператору

Привет