社区
基础和管理
帖子详情
空串的问题。很简单,但我搞不明白。
pufan
2004-08-03 06:50:37
当我向数据库中已有字段update空串后,发现无法用 该字段='' 的where表达式查询出数据,而用 该字段 is null 的表达式能查出数据。
这很不符合正常的逻辑:既然能让我update空串了,你就应该让我用空串将数据查回来,否则 字段='' 的这种表达式有什么存在的意义?谁来给我解惑。
...全文
269
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,是否为
空串
问题
现象: 今天在项目中思考了一个
问题
:如何在sql中判断一个字段是否为 null值 , 是否为
空串
呢?
问题
分析: 需要注意的是: null值 和
空串
并不是同一个概念!!!!!! null值 就是这个字段没有赋值,也就是java中常说的 null ; 而
空串
是指这个字段有赋值, 只是该值是一个 空字符串, 也就是java中常说的
空串
. 既然
明白
了 这两者的区别之后,那就要给大家介绍一下,如何在sql中判断某个字段 时候为 null 或
空串
了! 在postgresql数
在sql中判断一个字段是否为 null值 或
空串
在sql中判断一个字段是否为 null值 或
空串
SQL中NULL与
空串
判断指南:从三值逻辑到实战写法
在SQL查询中,判断字段是否为“空”是开发者绕不开的高频操作。很多人混淆了NULL与
空串
'',导致查询结果意外缺失。NULL代表未知状态,遵循三值逻辑,任何与NULL的比较都返回UNKNOWN,因此必须使用IS NULL或IS NOT NULL;而
空串
则是一个具体的零长度字符串。不同数据库如MySQL、PostgreSQL、SQL Server和Oracle对两者的处理差异显著,跨库迁移时尤其容易踩坑。理解这些基础概念,能有效避免数据过滤错误、报表统计偏差等
问题
。在实际工程中,无论是动态查询、数据清洗、报表
oracle 将空转
空串
,Oracle
空串
跟NULL
在Oracle中有个关键字叫NULL,它表示某个值是未知的、是不确定的。既然是未知的,就有无数种的可能性。因此,NULL并不是一个确定的值。例1set serverout ondeclarev_b1 boolean:=null; --布尔值可以赋值null.当然它另外两种值只能是true,false了v_a int := null;v_b int := null; --整数可以给它赋值n...
电励磁同步电机异步牵入-稳态运行-能耗制动全周期动态特性的MatlabSimulink仿真研究
内容概要:本文基于Matlab/Simulink平台,对电励磁同步电机在异步牵入、稳态运行及能耗制动三个阶段的全周期动态特性进行建模仿真与系统研究。研究构建了完整的电机数学模型与仿真系统,重点分析了电机从异步启动到同步运行的过渡过程、稳态运行时的电磁与机械性能,以及执行能耗制动时的减速特性与能量耗散机理。通过仿真,揭示了励磁电流、负载转矩与转速在不同工况下的动态响应规律与耦合关系,为电机的控制策略设计与性能优化提供了理论依据和数据支持。; 适合人群:具备电机学、电力电子与电力拖动基础知识的电气工程及相关专业的研究生、科研人员与工程技术人员。; 使用场景及目标:①研究电励磁同步电机的启动特性,解决异步牵入过程不稳定或失败的
问题
;②分析电机在不同负载下的稳态运行性能,优化运行效率;③设计和验证能耗制动策略,精确控制制动过程的减速时间和能量消耗。; 阅读建议:在学习过程中,应结合电机的基本原理,深入理解仿真模型中各模块(如电机本体、励磁控制、负载模型)的搭建逻辑,并通过调整仿真参数(如励磁电压、负载大小)来观察和分析系统动态响应,以加深对电机全周期运行特性的理解。
基础和管理
17,377
社区成员
95,111
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章