我见过同时使用两者的SQL!=<>表示不相等。首选的语法是什么?为什么?
我喜欢!=,因为<>让我想起了Visual Basic。
我见过同时使用两者的SQL!=<>表示不相等。首选的语法是什么?为什么?
我喜欢!=,因为<>让我想起了Visual Basic。
当前回答
!=, 尽管是非ANSI语言,但它更符合SQL作为一种可读语言的真正精神。它的尖叫声并不相等。<>说这对我来说(小于,大于)很奇怪。我知道它的意图是,要么小于,要么大于,因此不相等,但这是一个非常复杂的方式来表达一些非常简单的东西。
我只需要进行一些长时间的SQL查询,并将它们可爱地放入XML文件中,这是一大堆愚蠢的原因,我将不再赘述。
只需说XML完全没有被<>破坏,我不得不将它们改为!=在我搞砸自己之前检查一下自己。
其他回答
它们对于SQL Server都是有效的,
https://learn.microsoft.com/en-us/sql/t-sql/language-elements/not-equal-to-transact-sql-exclamation
它们都在T-SQL中被接受。然而,使用<>的速度似乎比!=快得多。我刚刚运行了一个使用!=,平均跑了大约16秒。我将它们改为<>,现在查询平均运行大约需要4秒。这是一个巨大的进步!
两者都有效,我认为任何差异都可以忽略不计!只要专注于提高生产力的家伙!
你的剧本有什么价值?它做什么?它将如何促进业务?它会赚更多钱吗?
关注这些目标,而不是程序员偏好的偏好。这就好比C#和Visual Basic语言哪个更好。就好像最终用户关心应用程序的编写过程?
最终用户关心的是你的应用程序能做什么。这对他正在做的事情有什么帮助。
微软自己似乎更喜欢<>!=如它们的表约束所证明的。我个人更喜欢使用!=因为我清楚地将其读为“不相等”,但如果输入[field1!=field2]并将其保存为约束,下次查询它时,它将显示为[field1<>field2]。这告诉我,正确的做法是<>。
ANSI SQL标准将<>定义为“不等于”运算符,
http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt(5.2<token>和<separator>)
没有!=运算符。