Я видел SQL который использует оба параметра != и <> для не равных. Какой предпочтительный синтаксис и почему?
 Мне нравится !=, Потому что <> напоминает мне Visual Basic.
 Я видел SQL который использует оба параметра != и <> для не равных. Какой предпочтительный синтаксис и почему?
 Мне нравится !=, Потому что <> напоминает мне Visual Basic.
Технически они функционируют одинаково, если вы используете SQL Сервер AKA T-SQL. Если вы используете его в хранимых процедурах, нет причин для использования одного над другим. Затем это сводится к личным предпочтениям. Я предпочитаю использовать < > , поскольку он совместим с ANSI.
Вы можете найти ссылки на различные стандарты ANSI в...
Большинство баз данных поддерживают != (популярные языки программирования) и <> (ANSI).
Базы данных, поддерживающие как !=, так и <>:
!= и <>!= и <>!= и <>!= и <>!= и <>!= и <>!= и <>!= и <>!= и <>Базы данных, поддерживающие стандартный оператор ANSI, исключительно:
 '<>' относится к стандарту SQL-92, а '!=' - это собственный T-SQL-оператор. Он доступен и в других базах данных, но поскольку он не является стандартным, вы должны принимать его в каждом конкретном случае.
В большинстве случаев вы будете знать, к какой базе данных вы подключаетесь, поэтому это не проблема. В худшем случае вам придется выполнять поиск и замену в вашем SQL.
Стандарт ANSI SQL определяет <> как оператор "не равно",
 http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt (5.2 <token> and <separator>)
В соответствии со стандартом ANSI/SQL 92 нет оператора !=.
 <> - это действительный SQL в соответствии со стандартом SQL-92.
http://msdn.microsoft.com/en-us/library/aa276846(SQL.80).aspx
Они оба действительны и одинаковы в отношении SQL Server,
https://docs.microsoft.com/en-us/sql/t-sql/language-elements/not-equal-to-transact-sql-exclamation
Кажется, что сами Microsoft предпочитают <> - !=, о чем свидетельствуют их ограничения на таблицу. Я лично предпочитаю использовать !=, потому что я отчетливо читаю это как "не равное", но если вы введете [field1 != field2] и сохраните его как protrait, в следующий раз, когда вы его запросите, он появится как [field1 <> field2]. Это говорит мне, что правильный способ сделать это - <>.
 !=, несмотря на то, что он не является ANSI, больше соответствует истинному духу SQL как читаемого языка. Он кричит неравномерно.
<> говорит это мне (меньше, больше), что просто странно. Я знаю, что намерение состоит в том, что оно меньше или больше, чем, следовательно, не равно, но что действительно сложный способ сказать что-то действительно простое.
Мне нужно было занять несколько длинных SQL-запросов и любовно вставить их в XML файл для целой кучи глупых причин, по которым я не буду вдаваться.
Достаточно сказать, что XML вообще не с <>, и мне пришлось сменить их на != и проверить себя, прежде чем я сгребаю себя.
Вы можете использовать то, что вам нравится в T-SQL. В документации говорится, что оба они работают одинаково. Я предпочитаю !=, потому что он читает "не равно" моему (C/С++/С#) виду, но гуру базы данных, похоже, предпочитают <>.
Я понимаю, что синтаксис C != находится в SQL Server из-за его наследия Unix (еще в Sybase SQL Server, до Microsoft SQL Server 6.5).
Одним из вариантов было бы использовать оператор NULLIF, отличный от <> или !=, который возвращает NULL, если оба аргумента равны NULLIF в Microsoft Docs. Поэтому я считаю, что предложение WHERE может быть изменено для <> и != следующим образом:
NULLIF(arg1, arg2) IS NOT NULL
Как я понял, использование <> и != в некоторых случаях не работает. Следовательно, использование вышеуказанного выражения делает нужным.
Я предпочитал использовать != вместо <>, потому что иногда я использую синтаксис <s></s> для написания команд SQL. Использование != более удобно, чтобы избежать синтаксических ошибок в этом случае.
Оба они приняты в T-SQL. Однако кажется, что использование  <> работает намного быстрее, чем !=. Я просто запускал сложный запрос, который использовал !=, и для запуска потребовалось в среднем около 16 секунд. Я изменил их на <>, и запрос теперь занимает около 4 секунд в среднем для запуска. Это огромное улучшение!
Несмотря на то, что они работают одинаково, != означает "не равно", а <> означает большее и меньшее, чем сохраненное значение.
Рассмотрим >= или <=, и это будет иметь смысл при факторизации индексов к запросам... <> будет работать быстрее в некоторых случаях (с правильным индексом), но в некоторых других случаях (индекс бесплатно), они будут работать одинаково.
Это также зависит от того, как ваша система баз данных считывает значения != и <>. Поставщик базы данных может просто сократить его и заставить их функционировать одинаково, поэтому нет никакой выгоды в любом случае. Сервер PostgreSQL и SQL сервер не сокращает это; он читается, как он появляется выше.