我见过同时使用两者的SQL!=<>表示不相等。首选的语法是什么?为什么?
我喜欢!=,因为<>让我想起了Visual Basic。
我见过同时使用两者的SQL!=<>表示不相等。首选的语法是什么?为什么?
我喜欢!=,因为<>让我想起了Visual Basic。
当前回答
<>是根据SQL-92标准的有效SQL。
http://msdn.microsoft.com/en-us/library/aa276846(SQL.80).aspx
其他回答
我理解C语法!=由于其Unix传统(早在Sybase SQL Server时代,早在Microsoft SQL Server 6.5之前)。
您可以在T-SQL中使用任何您喜欢的内容。文件显示,它们的功能相同。我更喜欢!=,因为它读起来“不等于”我(基于C/C++/C#)的想法,但数据库专家似乎更喜欢<>。
ANSI SQL标准将<>定义为“不等于”运算符,
http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt(5.2<token>和<separator>)
没有!=运算符。
我喜欢使用!=而不是<>,因为有时我使用<s></s>语法来编写SQL命令。使用!=在这种情况下,避免语法错误更方便。
另一种选择是使用NULLIF运算符,而不是<>或!=如果两个参数在Microsoft Docs中等于NULLIF,则返回NULL。所以我相信WHERE子句可以为<>和!=修改如下所示:
NULLIF(arg1, arg2) IS NOT NULL
正如我发现的,使用<>和!=在某些情况下不适合约会。因此,使用上述表达式是必要的。