我见过同时使用两者的SQL!=<>表示不相等。首选的语法是什么?为什么?

我喜欢!=,因为<>让我想起了Visual Basic。


当前回答

两者都有效,我认为任何差异都可以忽略不计!只要专注于提高生产力的家伙!

你的剧本有什么价值?它做什么?它将如何促进业务?它会赚更多钱吗?

关注这些目标,而不是程序员偏好的偏好。这就好比C#和Visual Basic语言哪个更好。就好像最终用户关心应用程序的编写过程?

最终用户关心的是你的应用程序能做什么。这对他正在做的事情有什么帮助。

其他回答

从技术上讲,如果您使用SQL Server AKA T-SQL,它们的功能是相同的。如果您在存储过程中使用它,那么就没有性能上的理由使用其中一个。然后归结到个人偏好。我更喜欢使用<>,因为它符合ANSI标准。

您可以在以下位置找到各种ANSI标准的链接。。。

http://en.wikipedia.org/wiki/SQL

<>是根据SQL-92标准的有效SQL。

http://msdn.microsoft.com/en-us/library/aa276846(SQL.80).aspx

另一种选择是使用NULLIF运算符,而不是<>或!=如果两个参数在Microsoft Docs中等于NULLIF,则返回NULL。所以我相信WHERE子句可以为<>和!=修改如下所示:

NULLIF(arg1, arg2) IS NOT NULL

正如我发现的,使用<>和!=在某些情况下不适合约会。因此,使用上述表达式是必要的。

ANSI SQL标准将<>定义为“不等于”运算符,

http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt(5.2<token>和<separator>)

没有!=运算符。

您可以在T-SQL中使用任何您喜欢的内容。文件显示,它们的功能相同。我更喜欢!=,因为它读起来“不等于”我(基于C/C++/C#)的想法,但数据库专家似乎更喜欢<>。