首页 新闻 搜索 专区 学院

sql中的“不等于”

0
悬赏园豆:15 [已解决问题] 解决于 2009-05-11 18:01
最近突然发现两种在运行的时候都可以,请问哪位能说一下区别:

msdn中的说法如下,看不明白有什么不同:

!=(不等于)(Transact-SQL)

测试某个表达式是否不等于另一个表达式(比较运算符)。如果任何一个操作数为 NULL,或两个都为 NULL,则返回 NULL。其功能与 <>(不等于)比较运算符相同。



<>(不等于)(Transact-SQL)

比较两个表达式(比较运算符)。当比较非空表达式时,如果左操作数不等于右操作数,则结果为 TRUE;否则结果为 FALSE。如果任何一个操作数为 NULL 或两个都为 NULL,则请参阅主题 SET ANSI_NULLS (Transact-SQL)

 

 

lightwalker的主页 lightwalker | 初学一级 | 园豆:14
提问于:2009-04-29 11:29
< >
分享
最佳答案
1

这个问题好,的确要有这样的追究到底的精神才能学到东西。我也来谈谈我的看法。

set statistics time on
select * from Person.Address where StateProvinceID <>79
set statistics time off;


set statistics time on
select * from Person.Address where StateProvinceID !=79
set statistics time off;

这是我用AdventureWorks2008测试的。时间分别是

SQL Server 执行时间:
  CPU 时间 = 46 毫秒,占用时间 = 485 毫秒。

SQL Server 执行时间:
  CPU 时间 = 31 毫秒,占用时间 = 624 毫秒。

多次执行发现<>时间比较短。
但是我实在不知道有什么不同。不过既然执行时间不同,我觉得还是会有不同的地方,要是有什么答案记得告诉我。

GeorgeHuang | 初学一级 |园豆:55 | 2009-04-30 11:28
89423条数据 用<>测试用时22s 用!=测试用时21s
lightwalker | 园豆:14 (初学一级) | 2009-09-09 11:58
其他回答(2)
0

!=:其功能与 <>(不等于)比较运算符相同。

已经说得很明白了啊

Gray Zhang | 园豆:17610 (专家六级) | 2009-04-29 15:20
0

<>效率高

0郝峰0 | 园豆:202 (菜鸟二级) | 2015-11-10 13:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册