Bob*_*tor 780 sql t-sql sql-server
我已经看到了SQL
同时使用!=
,并<>
为不相等.什么是首选语法,为什么?
我喜欢!=
,因为<>
让我想起Visual Basic
.
Bil*_*win 713
大多数数据库支持!=
(流行的编程语言)和<>
(ANSI).
同时支持数据库!=
和<>
:
!=
和<>
!=
和<>
!=
和<>
!=
和<>
!=
和<>
!=
和<>
!=
和<>
!=
和<>
!=
和<>
支持ANSI标准算,数据库独家:
DBA*_*rew 524
从技术上讲,如果您使用的是SQL Server AKA T-SQL,它们的功能相同.如果您在存储过程中使用它,则没有性能原因可以使用一个而不是另一个.然后归结为个人偏好.我更喜欢使用<>,因为它符合ANSI标准.
您可以在...找到各种ANSI标准的链接.
http://en.wikipedia.org/wiki/SQL
Ada*_*sek 106
'<>'
来自SQL-92标准,'!='
是一个专有的 T-SQL运算符.它也可以在其他数据库中使用,但由于它不是标准的,因此必须根据具体情况进行处理.
在大多数情况下,您将知道您要连接的数据库,因此这不是一个真正的问题.在最坏的情况下,您可能需要在SQL中进行搜索和替换.
Meh*_*ari 43
ANSI SQL标准定义<>
为"不等于"运算符,
http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt ( 5.2 <token> and <separator>
)
!=
根据ANSI/SQL 92标准,没有运算符.
Jus*_*ner 33
<>
是根据SQL-92标准的有效SQL.
http://msdn.microsoft.com/en-us/library/aa276846(SQL.80).aspx
mad*_*lor 23
它们对SQL Server都有效且相同,
https://docs.microsoft.com/en-us/sql/t-sql/language-elements/not-equal-to-transact-sql-exclamation
Kyl*_*yle 19
看来微软自己更喜欢<>
以!=
证明其表约束.我个人更喜欢使用,!=
因为我清楚地将其视为"不相等",但如果您输入[field1 != field2]
并将其保存为constrait,则下次查询时,它将显示为[field1 <> field2]
.这告诉我,正确的做法是<>
.
小智 16
!=
尽管是非ANSI的,但它更符合SQL作为可读语言的真正精神.它尖叫不平等.
<>
说这对我来说(少于,大于),这只是奇怪的.我知道它的意图是小于或大于不相等,但这是一种非常简单的说法.
我只需要进行一些长时间的SQL查询并将它们巧妙地放入XML文件中,因为我不会涉及到一大堆愚蠢的原因.
我只想说XML并没有<>
完全!=
失效,我不得不改变它们并在我操纵自己失败之前检查自己.
一个替代方案是使用其他运营商NULLIF比<>
或者!=
如果两个参数相等,返回NULL 在微软文档NULLIF.所以我相信WHERE子句可以进行修改<>
和!=
如下:
NULLIF(arg1, arg2) IS NOT NULL
Run Code Online (Sandbox Code Playgroud)
正如我发现的那样,在某些情况下使用<>
和!=
不适用于日期.因此,使用上述表达式是必要的.
归档时间: |
|
查看次数: |
1024516 次 |
最近记录: |