社区
基础和管理
帖子详情
求助!!Oracle里如何判断NULL?
wxylvmnn
2012-09-13 03:21:33
如果用到where语句里是
where 字段A is null这样的形式,
这样是OK的。
但,写在存储过程的 判断语句里时,该如何写呢?
代码里有 if 字段A = 字段B then 的逻辑,
但当字段A或者B都是NULL的时候,这个判断就失效了。
...全文
2063
14
打赏
收藏
求助!!Oracle里如何判断NULL?
如果用到where语句里是 where 字段A is null这样的形式, 这样是OK的。 但,写在存储过程的 判断语句里时,该如何写呢? 代码里有 if 字段A = 字段B then 的逻辑, 但当字段A或者B都是NULL的时候,这个判断就失效了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jsshizhanab
2014-01-05
打赏
举报
回复
NULL是不存在 两个NULL比较应该也是FALSE吧
wxylvmnn
2012-09-18
打赏
举报
回复
谢谢大家热心回帖哈。
找到了一个function能够实现等于和不等于的判断,跟大家共有下。
FUNCTION ISEQUAL
(
VAR1 IN VARCHAR2,
VAR2 IN VARCHAR2
)
RETURN NUMBER IS
BEGIN
IF (VAR1 IS NULL AND VAR2 IS NULL OR VAR1 IS NOT NULL AND VAR2 IS NOT NULL AND VAR1 = VAR2) THEN
RETURN 1;
ELSE
RETURN 0;
END IF;
END ISEQUAL;
jdsnhan
2012-09-14
打赏
举报
回复
你可以nvl(A,'0') = NVL(B,'0'). ''这个也是空
mosquito_lover1
2012-09-14
打赏
举报
回复
NULL不能拿来比较=or<>
陈字文
2012-09-13
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
SQL code
--还有应是变量吧,字段你哪可以if then
if nvl(A,'')=nvl(B,'') then
[/Quote]
++
fw0124
2012-09-13
打赏
举报
回复
[Quote=引用 7 楼 的回复:]
如果是等号判断,这么写应该可以。
但是要是 不等号 的话,应该怎么写呢?
[/Quote]
总之一句话,,除了IS NULL、IS NOT NULL以外,对NULL的任何操作的结果还是NULL。
对于NULL的情况,单独考虑就是了。
fw0124
2012-09-13
打赏
举报
回复
[Quote=引用 7 楼 的回复:]
如果是等号判断,这么写应该可以。
但是要是 不等号 的话,应该怎么写呢?
[/Quote]
总之一句话,,除了IS NULL、IS NOT NULL以外,对NULL的任何操作的结果还是NULL。
对于NULL的情况,单独考虑就是了。
wxylvmnn
2012-09-13
打赏
举报
回复
如果是等号判断,这么写应该可以。
但是要是 不等号 的话,应该怎么写呢?
fw0124
2012-09-13
打赏
举报
回复
[Quote=引用楼主 的回复:]
如果用到where语句里是
where 字段A is null这样的形式,
这样是OK的。
但,写在存储过程的 判断语句里时,该如何写呢?
代码里有 if 字段A = 字段B then 的逻辑,
但当字段A或者B都是NULL的时候,这个判断就失效了。
[/Quote]
是的,oracle就是这样处理null的。
请参考http://blog.csdn.net/fw0124/article/details/6210730
如果需要a,b都是null的时候判断相等,可以这样
a is null and b is null
wxylvmnn
2012-09-13
打赏
举报
回复
写0不行啊,,,0是有数据的意思了。。。
TO:zhangandli
你看这样写,不好用的。
BEGIN
IF NVL(NULL,'') = NVL(NULL,'') THEN
dbms_output.put_line('YES');
ELSE
dbms_output.put_line('NO');
END IF;
END;
Alex20150716
2012-09-13
打赏
举报
回复
用length()函数判断
wxylvmnn
2012-09-13
打赏
举报
回复
试过了,这样写不好用啊。。。
貌似NULL和''的效果是一样的啊。。
iqlife
2012-09-13
打赏
举报
回复
字段A = 字段B 都是NULL会失效么,没有遇到过
这样写就避免了,
nvl(字段A,0) = nvl(字段B,0)
人生无悔
2012-09-13
打赏
举报
回复
--还有应是变量吧,字段你哪可以if then
if nvl(A,'')=nvl(B,'') then
【非线性优化】基于参数化凸规划的全局优化算法:非线性比值和问题的高效求解方法
内容概要:本文提出了一种高效求解非线性比值和问题(sum-of-ratios problem)的全局优化算法,该问题广泛存在于图像处理、工程与管理等领域。传统方法因问题非凸性易陷入局部最优,而本文算法通过将原问题转化为参数化的凸规划序列,结合修正牛顿法进行迭代求解,理论上保证了全局收敛性,并具有全局线性与局部超线性/二次收敛速度。数值实验表明,该算法在多个测试问题上均能快速、稳定地找到全局最优解,且性能优于已有的分支定界等方法。; 适合人群:运筹学、计算机视觉、图像处理或工程优化方向的研究生及科研人员,具备非线性优化与数学建模基础者; 使用场景及目标:①解决多视角几何中的三角测量、相机标定等问题;②应用于有限元网格质量优化、管理科学中的比率型目标函数优化等实际场景;③为非凸分数规划问题提供一种可证明收敛性的数值求解工具; 阅读建议:建议结合文中算法步骤(如Algorithm MN)与数值实验部分进行代码复现,重点关注参数化转换技巧与牛顿迭代的设计逻辑,以深入理解其收敛机制与实用性。
复现基于DoS攻击+二次控制+下垂控制和事件触发式负荷控制的四机并联孤岛微电网(实现电压、频率恢复与功率共享分配)(Simulink仿真实现)
内容概要:本文研究了一种针对四机并联孤岛微电网的协同控制策略,通过集成DoS攻击模拟、分布式二次控制、下垂控制与事件触发式负荷控制,旨在实现微电网在遭受网络安全威胁等异常工况下的电压与频率恢复以及有功/无功功率的精确共享分配。基于Simulink平台构建了完整的微电网仿真系统,包含多台分布式发电单元(DG),采用下垂控制实现无需通信的功率自主分配,并引入分布式二次控制以补偿由下垂特性引起的电压和频率偏差,从而提升电能质量。为进一步降低通信负担并提高系统效率,设计了事件触发机制,仅在必要时刻进行信息交互。研究重点在于多时间尺度下的协同控制架构设计,全面验证了该策略在正常运行与遭受DoS攻击等扰动情形下的稳定性、鲁棒性与恢复能力。; 适合人群:具备电力系统、自动控制理论基础,熟悉Simulink/Matlab仿真工具,从事微电网、分布式能源、智能电网及相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①研究孤岛微电网中电压频率恢复与功率均分的多时间尺度协同控制机制;②分析DoS网络攻击对微电网控制性能的影响及其应对策略;③掌握事件触发控制在减少通信开销中的实际应用方法;④复现并拓展具备网络安全防护能力的高级微电网控制算法仿真模型。; 阅读建议:此资源以Simulink仿真实现为核心,建议读者结合现代控制理论与网络安全知识,逐步搭建系统模型,重点关注控制器参数整定、事件触发阈值设计及DoS攻击注入方式,通过对比实验深入理解控制策略的有效性与鲁棒性。
数据集-地级市创业活跃度、创业孵化能力数据(2000-2025年).txt
因文件较多,数据存放网盘,txt文件内包含下载链接及提取码,永久有效。失效会第一时间进行补充。样例数据及详细介绍参见文章:https://blog.csdn.net/samLi0620/article/details/163803309
API-Catalog-Endpoint-Liveness-Evidence-Auditor-Evidence-Coverage-v1.0-原创源码与文档.zip
原创 JavaScript 工程工具源码,包含完整可运行源码、3 项自动化测试、离线 HTML/JSON/SVG 报告、真实运行截图、README、使用文档、MIT License 与原创授权声明。适合前端、Node.js、自动化测试和工程实践学习,解压后按 README 即可运行。
数学优化方法经典书籍,适合数学优化专业学习人员
数学优化方法经典书籍,适合数学优化专业学习人员
基础和管理
17,377
社区成员
95,111
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章