社区
基础和管理
帖子详情
sql检索文中子段相等判断问题,急盼解决!!!
ufo_ufo
2006-12-14 01:32:47
pl/sql中用到,
传进参数比如i_str可以为空
select * from a 表 where a.t1 = nvl2(i_str, a.t1, i_str)
想实现为空的时候不加这个字段条件,可是为空的时候为什么检索不到数据??
很奇怪!!!
...全文
239
9
打赏
收藏
sql检索文中子段相等判断问题,急盼解决!!!
pl/sql中用到, 传进参数比如i_str可以为空 select * from a 表 where a.t1 = nvl2(i_str, a.t1, i_str) 想实现为空的时候不加这个字段条件,可是为空的时候为什么检索不到数据?? 很奇怪!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
adaizi1980
2006-12-14
打赏
举报
回复
按bzszp(SongZip)的方法做,
对于表达式a.t1 = nvl(i_str, a.t1),当i_str不为空时,该表达式等价于a.t1 = i_str;当i_str为空时,该表达式等价于a.t1 = a.t1 ,即a.t1 不为空时该表达式永远为真,等同于可以省略该条件;
需要注意的是,如果a.t1 可能为空,请用nvl(a.t1,'字段不可能是的一个特殊值') = nvl(i_str, nvl(a.t1,'字段不可能是的一个特殊值')),否则,由于oracle不能对两个空值做比较,当i_str为空时,a.t1为空的行会被过滤掉
ufo_ufo
2006-12-14
打赏
举报
回复
我搞错啦,两边长度不一样,给分!!
bzszp
2006-12-14
打赏
举报
回复
哪里有问题?
SQL> select deptno from dept;
DEPTNO
----------
10
20
30
40
SQL> select deptno from dept where deptno = nvl(null,deptno);
DEPTNO
----------
10
20
30
40
SQL> select deptno from dept where deptno = nvl('',deptno);
DEPTNO
----------
10
20
30
40
SQL> select deptno from dept where deptno = nvl('20',deptno);
DEPTNO
----------
20
SQL>
tgm78
2006-12-14
打赏
举报
回复
select * from a 表 where a.t1 = nvl(i_str, a.t1)
当i_str不为空的时候,取的自然是i_str值
bzszp
2006-12-14
打赏
举报
回复
nvl就是个这个功能
ufo_ufo
2006-12-14
打赏
举报
回复
select * from a 表 where a.t1 = nvl(i_str, a.t1)
空值时候可以检索到数据,不为空检索不到的。
???
yuyu1980
2006-12-14
打赏
举报
回复
up
ufo_ufo
2006-12-14
打赏
举报
回复
但是不为空的话我还要这个字段=i_str的值
bzszp
2006-12-14
打赏
举报
回复
select * from a 表 where a.t1 = nvl(i_str, a.t1)
oracle
sql
判断
相等
,Oracle PL/
SQL
判断
两个字
段
相等
或不等
问题
本文探讨了在Oracle PL/
SQL
中处理NULL值时遇到的
问题
及
解决
方案,详细介绍了如何正确地进行字
段
相等
性和不
相等
性的
判断
,推荐使用IS NULL或NVL函数来避免因NULL值导致的逻辑错误。
sql
判断
相等
_过滤数据《
SQL
必知必会》
博客介绍了
SQL
过滤数据的必要性及实现方法,包括使用WHERE子句根据不同条件筛选数据,如
判断
相等
、大于、不等于等,还讲解了用AND、OR、IN关键字筛选多条件,以及空值检查的注意事项,最后说明了对筛选结果进行排序的方法。
【Mybatis】掌握If标签:精准实现字符串
相等
判断
的艺术
本文深入探讨MyBatis框架中<if>标签的应用,特别是在处理字符串
相等
判断
时,提升
SQL
查询的动态性和精确性。通过示例代码展示如何根据参数动态添加查询条件,确保
SQL
的安全性和准确性。
动态
sql
中<if>
判断
相等
会导致结果不正确
解决
方法
博客主要讲述在MyBatis框架中使用动态
SQL
的if标签时遇到的
问题
。以根据mapper层传来的String类型参数status
判断
查询数据的升降序为例,原本写法无法正确生成所需
SQL
,将双引号和单引号位置调整后
问题
解决
,作者不知具体原因,盼大佬解答。
基础和管理
17,377
社区成员
95,112
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章