Where 1<>1 与 Where 1=3 的区别何在?

哈哈 2010-11-10 11:57:12
select * from b where 1<>1 和 select * from b where 1=3 有什么区别?

我认为,不管是1<>1还是1=3都是逻辑表达式,且其运算结果都为 False,这两个SQL语句是等价的。

一新同事说会对前台程序产生影响,具体的影响他不肯说。

真的会产生影响吗?会产生什么样的影响?

求解中...
...全文
737 43 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
43 条回复
切换为时间正序
请发表友善的回复…
发表回复
fpzgm 2010-11-11
  • 打赏
  • 举报
回复
什么区别
fellowcheng 2010-11-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fredrickhu 的回复:]

SQL code
1. 1<>1 的用处:
用于只取结构不取数据的场合,例如:
create table table_temp tablespace tbs_temp as
select * from table_ori where 1<>1
建成一个与table_ori 结构相同的表table_temp,但是不要table_ori 里的数据。
(除了表结构,其它结构也同理)

2.1=1用……
[/Quote]
mark
brownhwy 2010-11-11
  • 打赏
  • 举报
回复
select * from b where 1<>1 和 select * from b where 1=3 有什么区别?

这两句肯定不会有区别,都是什么也选不出来,写出这种句子的人有问题?
实际句子肯定不是1<>1 或1=3 等样子,拿常量比有什么好比较的,你不把实际的句子写出来让别人怎么帮你?
你在这糊弄了这么一大帮高手...
飘零一叶 2010-11-10
  • 打赏
  • 举报
回复
没区别....
hao1hao2hao3 2010-11-10
  • 打赏
  • 举报
回复
求真相。
「已注销」 2010-11-10
  • 打赏
  • 举报
回复
select * from b where 1<>1 和 select * from b where 1=3 有什么区别?
===========
区别确实没有。
但是习惯上来讲都会用前者,逻辑看着比较顺,不用有太多思考,仅此而已。
华夏小卒 2010-11-10
  • 打赏
  • 举报
回复
看领导习惯,
领导说1<>1 用着舒服,就1<>1 好
领导说1=3 用着舒服,就1=3 好

哈哈
ForFumm 2010-11-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jinjazz 的回复:]
区别是多打了一个字母
[/Quote]
up
叶子 2010-11-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jinjazz 的回复:]
区别是多打了一个字母
[/Quote]
前面改成1>1 ,就不多了。
叶子 2010-11-10
  • 打赏
  • 举报
回复
没有什么区别,一样的!
jinjazz 2010-11-10
  • 打赏
  • 举报
回复
区别是多打了一个字母
黄_瓜 2010-11-10
  • 打赏
  • 举报
回复
一样。
王向飞 2010-11-10
  • 打赏
  • 举报
回复
有啥影响?
SQL 要是连这点优化都做不到,早被其他数据库击垮了。
--小F-- 2010-11-10
  • 打赏
  • 举报
回复
1. 1<>1 的用处:
用于只取结构不取数据的场合,例如:
create table table_temp tablespace tbs_temp as
select * from table_ori where 1<>1
建成一个与table_ori 结构相同的表table_temp,但是不要table_ori 里的数据。
(除了表结构,其它结构也同理)

2.1=1用于动态SQL,例如:
lv_string = 'select tbl_name,tbl_desc from tbl_test where 1=1 '+l_condition;
当用户选择了查询的名称'abc'时
l_condition ='and tbl_name = ''abc''';
但是当用户没有选择名称查询时l_condition就为空串''这样
lv_string = 'select tbl_name,tbl_desc from tbl_test where 1=1 ',
运行也不会出错,相当于没有限制名称条件。但是如果没有1=1的条件,则
lv_string = 'select tbl_name,tbl_desc from tbl_test where ';
这样就会报错。
lxq19851204 2010-11-10
  • 打赏
  • 举报
回复
一样.....
Vidor 2010-11-10
  • 打赏
  • 举报
回复
应该没有什么影响,除非 = 就是赋值运算,逻辑运算用 == 那种,例如javascript
dawugui 2010-11-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 ywjq 的回复:]
select * from b where 1<>1 和 select * from b where 1=3 有什么区别?

我认为,不管是1<>1还是1=3都是逻辑表达式,且其运算结果都为 False,这两个SQL语句是等价的。

一新同事说会对前台程序产生影响,具体的影响他不肯说。

真的会产生影响吗?会产生什么样的影响?

求解中...
[/Quote]我觉得一样。
cjzm83 2010-11-10
  • 打赏
  • 举报
回复
具体的影响他不肯说。
lidanzi 2010-11-10
  • 打赏
  • 举报
回复
兄弟 你同事说对前台有影响,若是web前端的话倒是有可能的,< > 要和 <html> 区别
天野青鸟 2010-11-10
  • 打赏
  • 举报
回复
我一般是写 1=0
加载更多回复(20)

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧