社区
基础和管理
帖子详情
空串的问题。很简单,但我搞不明白。
pufan
2004-08-03 06:50:37
当我向数据库中已有字段update空串后,发现无法用 该字段='' 的where表达式查询出数据,而用 该字段 is null 的表达式能查出数据。
这很不符合正常的逻辑:既然能让我update空串了,你就应该让我用空串将数据查回来,否则 字段='' 的这种表达式有什么存在的意义?谁来给我解惑。
...全文
248
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,不是''
sql判断字段是否为null,是否为
空串
本文详细介绍了在PostgreSQL数据库中如何通过SQL语句判断字段是否为null值或
空串
,包括使用IS NULL、IS NOT NULL及长度函数length等方法。
在sql中判断一个字段是否为 null值 或
空串
本文介绍在PostgreSQL数据库中如何使用SQL语句区分判断字段的null值和
空串
,包括具体的SQL语法示例。
oracle 将空转
空串
,Oracle
空串
跟NULL
本文详细介绍了Oracle数据库中NULL值的概念和特性。在Oracle中,NULL表示未知或不确定的值,它不等同于任何其他值,包括另一个NULL。在逻辑运算中,NULL与任何值的组合都会得到特定的结果。例如,两个NULL值不相等,NULL与true或false进行OR运算时,如果前一个条件为真,则不需要评估后一个条件。在创建表时,NULL可以用作约束条件的一部分,但这并不意味着它可以代表所有可能的值。在处理NULL时,需要使用特定的语法如IS NULL来进行判断。此外,Oracle将空字符串视为NULL,并且在使用AVG、MAX、MIN等函数时会忽略NULL值。理解并正确处理NULL对于数据库操作至关重要。
oracle 同义词_Oracle迁移到MySQL,必须要
搞
明白
这几个
问题
本文探讨了从Oracle迁移到MySQL的主要动机,包括成本节约、扩展性增强和技术适应性提升等方面,并详细讨论了迁移过程中需要考虑的关键技术和业务因素。
基础和管理
17,377
社区成员
95,113
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章