我见过同时使用两者的SQL!=<>表示不相等。首选的语法是什么?为什么?
我喜欢!=,因为<>让我想起了Visual Basic。
我见过同时使用两者的SQL!=<>表示不相等。首选的语法是什么?为什么?
我喜欢!=,因为<>让我想起了Visual Basic。
当前回答
从技术上讲,如果您使用SQL Server AKA T-SQL,它们的功能是相同的。如果您在存储过程中使用它,那么就没有性能上的理由使用其中一个。然后归结到个人偏好。我更喜欢使用<>,因为它符合ANSI标准。
您可以在以下位置找到各种ANSI标准的链接。。。
http://en.wikipedia.org/wiki/SQL
其他回答
我喜欢使用!=而不是<>,因为有时我使用<s></s>语法来编写SQL命令。使用!=在这种情况下,避免语法错误更方便。
两者都有效,我认为任何差异都可以忽略不计!只要专注于提高生产力的家伙!
你的剧本有什么价值?它做什么?它将如何促进业务?它会赚更多钱吗?
关注这些目标,而不是程序员偏好的偏好。这就好比C#和Visual Basic语言哪个更好。就好像最终用户关心应用程序的编写过程?
最终用户关心的是你的应用程序能做什么。这对他正在做的事情有什么帮助。
微软自己似乎更喜欢<>!=如它们的表约束所证明的。我个人更喜欢使用!=因为我清楚地将其读为“不相等”,但如果输入[field1!=field2]并将其保存为约束,下次查询它时,它将显示为[field1<>field2]。这告诉我,正确的做法是<>。
<>是根据SQL-92标准的有效SQL。
http://msdn.microsoft.com/en-us/library/aa276846(SQL.80).aspx
大多数数据库都支持!=(流行编程语言)和<>(ANSI)。
支持两者的数据库!=和<>:
Apache Derby 10.6:!=和<>IBM Informix Dynamic Server 10:!=和<>InterBase/Firebird:!=和<>Microsoft SQL Server 2000/2005/2008/2012/2016:!=和<>Mimer SQL 11.0:!=和<>MySQL 5.1:!=和<>Oracle 10g:!=和<>PostgreSQL 8.3:!=和<>Sybase Adaptive Server Enterprise 11.0:!=和<>
仅支持ANSI标准运算符的数据库:
IBM DB2 UDB 9.5:<>Microsoft Access 2010:<>