Использование правильного или предпочтительного, не равного оператора в MySQL

StackOverflow https://stackoverflow.com/questions/2066987

Вопрос

Какой из двух (семантически эквивалентных) способов предпочтительнее проверить неравенство?

  1. 'foo' != 'bar' (восклицательный знак и признак равных)
  2. 'foo' <> 'bar' (меньше, чем больше, чем Chevron символы вместе)

Документация MySQL четко указывает на то, что между ними нет никакой разницы, и все же некоторые люди, кажется, привязаны к тому, чтобы делать это только так или иначе. Возможно, это просто еще одна бессмысленная дебаты VI против EMACS, но когда другие люди читают ваш код (и, следовательно, ваши запросы), полезно поддерживать некоторую последовательность.

<> очень похоже на <=> который является очень недоисмысленным оператором, но, возможно, может привести к путанице с быстрым взглядом, так как они почти противоположны (за исключением очевидного NULL случаи).

Это было полезно?

Решение

<> должен быть предпочтительным, при прочих равных условиях, поскольку он согласуется со стандартом SQL и технически более портативно ...

! = нестандартный, но большинство БД реализуют это.

SQL: 2008 Грамматика:

<not equals operator> ::=
  <>

Другие советы

Это очевидно.

Черт! Персонаж находится на северо -западном углу клавишных.

Штаб -квартира Microsoft находится в северо -западном углу США.

Так. <> это кивок Microsoft.

!= Отказ от Microsoft.

Это секретный политический кодекс.

<>-единственный в стандарте SQL-92.

DBA, как правило, как <> и программисты, как! =. Просто наблюдение :-)

Они одинаковые, это чисто предпочтение.

Это должно дать вам хорошую идею

Операторы

! = (Не равен) не равен (не стандарт SQL-92)

<> (Не равен) не равен

А <> Оператор - это тот, который находится в стандарте SQL, поэтому большинство людей, которые знают SQL, будут привыкать к нему или, по крайней мере, осознают его. Я сам даже не знал об этом != Оператор также был доступен на некоторых диалектах SQL до недавнего времени.

Как вы заметили, люди склонны использовать только одного или другого, и это хороший подход, по крайней мере, на основе проекта. Какой бы вы ни выбрали, будьте последовательны.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top