【问题标题】:Is there a difference between inequality symbols <> and != in SQL Server? [duplicate]SQL Server 中的不等号 <> 和 != 之间有区别吗? [复制]
【发布时间】:2013-11-21 00:38:34
【问题描述】:

在编写查询时,当我的意思是“不等于”时,使用 或 != 是否重要?

根据下面的示例,无论我使用 还是 !=,null 似乎都不会受到影响。这是审美吗?

declare @fruit table
(
FruitID int,
FruitName varchar(50)
)

insert into @fruit (FruitID, FruitName) Values (1, 'Apple')
insert into @fruit (FruitID, FruitName) Values (2, 'Orange')
insert into @fruit (FruitID, FruitName) Values (3, 'Pineapple')
insert into @fruit (FruitID, FruitName) Values (null, 'Not a Fruit')

select *
from @fruit
where fruitid<>2

select *
from @fruit
where fruitid!=2

【问题讨论】:

  • 一个是标准的,一个不是。
  • @ta.speot.is 哪个是标准的?
  • 符合 ANSI。

标签: sql-server


【解决方案1】:

&lt;&gt; 运算符是正式 sql 标准定义的运算符。 != 运算符是许多开发人员更熟悉的别名。它们以相同的方式做同样的事情,并且在我使用过的任何支持两者的 dbms 系统上都没有性能或行为差异。

大多数数据库系统都支持!=,但也有例外。因此,理论上,&lt;&gt; 应该更便携,因为它是标准。在实践中,我猜只实现!= 的数量与只实现&lt;&gt; 的数量差不多。

我来自 C++ 背景,在我早期使用 SQL 的时候,我一开始甚至不知道 &lt;&gt; 的存在。离开学校后不久我了解到&lt;&gt;,当时我不得不花一些时间在VB代码库上工作,当时认为这只是开发人员的一个怪癖,他们更喜欢VB风格的sql运算符使用他们的 VB 客户端代码。很长一段时间后我还在用!=。后来我了解到&lt;&gt; 是标准,并且可能从 86 年开始使用,那时 VB 还只是“BASIC”。从那以后,我几乎只使用&lt;&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-14
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    • 2016-11-01
    • 2011-04-16
    • 2014-01-26
    • 2016-09-05
    相关资源
    最近更新 更多