我见过同时使用两者的SQL!=<>表示不相等。首选的语法是什么?为什么?
我喜欢!=,因为<>让我想起了Visual Basic。
我见过同时使用两者的SQL!=<>表示不相等。首选的语法是什么?为什么?
我喜欢!=,因为<>让我想起了Visual Basic。
当前回答
从技术上讲,如果您使用SQL Server AKA T-SQL,它们的功能是相同的。如果您在存储过程中使用它,那么就没有性能上的理由使用其中一个。然后归结到个人偏好。我更喜欢使用<>,因为它符合ANSI标准。
您可以在以下位置找到各种ANSI标准的链接。。。
http://en.wikipedia.org/wiki/SQL
其他回答
我理解C语法!=由于其Unix传统(早在Sybase SQL Server时代,早在Microsoft SQL Server 6.5之前)。
另一种选择是使用NULLIF运算符,而不是<>或!=如果两个参数在Microsoft Docs中等于NULLIF,则返回NULL。所以我相信WHERE子句可以为<>和!=修改如下所示:
NULLIF(arg1, arg2) IS NOT NULL
正如我发现的,使用<>和!=在某些情况下不适合约会。因此,使用上述表达式是必要的。
它们对于SQL Server都是有效的,
https://learn.microsoft.com/en-us/sql/t-sql/language-elements/not-equal-to-transact-sql-exclamation
微软自己似乎更喜欢<>!=如它们的表约束所证明的。我个人更喜欢使用!=因为我清楚地将其读为“不相等”,但如果输入[field1!=field2]并将其保存为约束,下次查询它时,它将显示为[field1<>field2]。这告诉我,正确的做法是<>。
<>是根据SQL-92标准的有效SQL。
http://msdn.microsoft.com/en-us/library/aa276846(SQL.80).aspx