我见过同时使用两者的SQL!=<>表示不相等。首选的语法是什么?为什么?
我喜欢!=,因为<>让我想起了Visual Basic。
我见过同时使用两者的SQL!=<>表示不相等。首选的语法是什么?为什么?
我喜欢!=,因为<>让我想起了Visual Basic。
当前回答
ANSI SQL标准将<>定义为“不等于”运算符,
http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt(5.2<token>和<separator>)
没有!=运算符。
其他回答
我理解C语法!=由于其Unix传统(早在Sybase SQL Server时代,早在Microsoft SQL Server 6.5之前)。
“<>”来自SQL-92标准,“!=”是一个专有的T-SQL运算符。它也可以在其他数据库中使用,但由于它不是标准的,您必须根据具体情况进行处理。
在大多数情况下,您将知道您正在连接的数据库,因此这不是真正的问题。最坏的情况下,您可能需要在SQL中进行搜索和替换。
微软自己似乎更喜欢<>!=如它们的表约束所证明的。我个人更喜欢使用!=因为我清楚地将其读为“不相等”,但如果输入[field1!=field2]并将其保存为约束,下次查询它时,它将显示为[field1<>field2]。这告诉我,正确的做法是<>。
它们都在T-SQL中被接受。然而,使用<>的速度似乎比!=快得多。我刚刚运行了一个使用!=,平均跑了大约16秒。我将它们改为<>,现在查询平均运行大约需要4秒。这是一个巨大的进步!
您可以在T-SQL中使用任何您喜欢的内容。文件显示,它们的功能相同。我更喜欢!=,因为它读起来“不等于”我(基于C/C++/C#)的想法,但数据库专家似乎更喜欢<>。