社区
基础和管理
帖子详情
空串的问题。很简单,但我搞不明白。
pufan
2004-08-03 06:50:37
当我向数据库中已有字段update空串后,发现无法用 该字段='' 的where表达式查询出数据,而用 该字段 is null 的表达式能查出数据。
这很不符合正常的逻辑:既然能让我update空串了,你就应该让我用空串将数据查回来,否则 字段='' 的这种表达式有什么存在的意义?谁来给我解惑。
...全文
222
7
打赏
收藏
空串的问题。很简单,但我搞不明白。
当我向数据库中已有字段update空串后,发现无法用 该字段='' 的where表达式查询出数据,而用 该字段 is null 的表达式能查出数据。 这很不符合正常的逻辑:既然能让我update空串了,你就应该让我用空串将数据查回来,否则 字段='' 的这种表达式有什么存在的意义?谁来给我解惑。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ineedtostudy
2004-08-03
打赏
举报
回复
null 除了'is null'操作外,其他任何操作返回的值都是null,既然where字句的条件是null,那么就不会返回任何数据了
CodeMagic
2004-08-03
打赏
举报
回复
null表示不确定的值,当两个不确定的值比较的时候,你不能就认为它们一定相等(即表示相同的值)
pufan
2004-08-03
打赏
举报
回复
古怪啊,null=null不能返回真,这又是为啥那?
beckhambobo
2004-08-03
打赏
举报
回复
SQL> select 1 from dual where null=null;
1
----------
SQL> select 1 from dual where 1=1;
1
----------
1
很明显,oracle当字段为null时,强行与其它值相关联时,不会被选出来.
CodeMagic
2004-08-03
打赏
举报
回复
->insert into test values('1');
已创建 1 行。
->commit;
提交完成。
->select * from test;
NAME
__________
1
已选择 1 行。
->update test set name='';
已更新 1 行。
->commit;
提交完成。
->select * from test;
NAME
__________
已选择 1 行。
->select * from test where name='';
未选定行
->select * from test where name is null;
NAME
__________
已选择 1 行。
理由很简单,既然''认为是null,name的值也是null,判断null=null不能返回真,只能用is null
pufan
2004-08-03
打赏
举报
回复
CodeMagic 写道:
在oracle中把空串认为是null,不是''
-------------------
我是不明白Oracle这样设计的原因,既然你都可以把''自动转换为null储存了,
你为什么又不能用 ='' 这样的表达式来查询呢。
我一直是这样认为,你存进什么数据进去,你就当然可以用=表达式将该数据查出来。如果只是针对''这种特殊例子需要特殊对待的话,那 ='' 的这种表达式又有什么存在的意义?
CodeMagic
2004-08-03
打赏
举报
回复
在oracle中把空串认为是null,不是''
c语言数据结构字符串模式匹配算法.zip
说了这么多,是不是觉得求串T的模式值next[n]很复杂呢?要叫我写个函数出来,目前来说,我宁愿去登天。好在有现成的函数,当初发明KMP算法,写出这个函数的先辈,令我佩服得六体投地。我等后生小子,理解起来,都要...
mach
空串
php preg_PHP 优化详解
笔者收集的这些技巧来源较广,完整性不能保证。 由于数量较多,这些优化技巧没有经过测试。...目录索引找到瓶颈(Finding the ...
搞
明白
产生瓶颈的原因,找到目标并且实施修复,然后再重新测试。查找瓶颈只是万里长征...
解决Dify的Ollama插件添加模型时保存成功但模型为空的
问题
最近组里安排了点调研Dify任务。...我摸索了半天,改了一通配置终于
搞
定,其中关键的一步配置在CXXN上看到了一些蛛丝马迹,但CXXN
搞
的付费订阅非常恶心,我从其他渠道弄
明白
以后,总结了一下自己做的操作,共享出来。
Java多线程实战精讲-带你一次
搞
明白
Java多线程高并发 学习笔记(自用)
目录第 1 章 线程概述第 2 章 线程安全
问题
第 3 章 线程同步第 4 章 线程间的通信第 5 章 Lock 显示锁第 6 章 线程管理第 7 章 保障线程安全的设计技术第 8 章 锁的优化及注意事项 第 1 章 线程概述 1.1 线程相关...
mysql客户端安装,终于
搞
明白
了
总结 本文从基础到高级再到实战,由浅入深,把MySQL讲的清清楚楚,明
明白
白,这应该是我目前为止看到过最好的有关MySQL的学习笔记了,我相信如果你把这份笔记认真看完后,无论是工作中碰到的
问题
还是被面试官问到的...
基础和管理
17,380
社区成员
95,113
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章