社区
Oracle
帖子详情
oracle 中where后面加case when
木一浪
2019-09-06 06:39:02
select name from student where age = (case when sex is not null then '15' end) 当sex=null时,结果是什么样的
...全文
1464
4
打赏
收藏
oracle 中where后面加case when
select name from student where age = (case when sex is not null then '15' end) 当sex=null时,结果是什么样的
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Rotel-刘志东
2019-09-08
打赏
举报
回复
SELECT name FROM student WHERE age=(CASE WHEN sex is not null THEN '15' ELSE null END)
stelf
2019-09-06
打赏
举报
回复
nvl2(sex, '15', null)
卖水果的net
2019-09-06
打赏
举报
回复
(case when sex is not null then '15' end) 等价于 (case when sex is not null then '15' else null end)
AHUA1001
2019-09-06
打赏
举报
回复
当sex=null时,什么都查询不到。 原理很简单,当sex=null时,就是 select case when null is not null then '15' end from dual ; 返回结果是null select name from student where age = null 这个语句什么都查询不到。
oracle
中
where
后面
使用
case
技巧
oracle
中
where
后面
使用
case
技巧
oracle
where 后使用
case
when
SELECT * FROM A WHERE (
CASE
WHEN PSTYP = '9' THEN POSID1 WHEN PSTYP = '0' THEN POSID2 END ) = '1' DECODE(列名, 值1, 返回值1,值2,返回值2,默认值)
Oracle
之where之后的
case
when执行不同的条件
在开发
中
遇到这样的一个需求,在一张表
中
需要根据某个字段的值来使where执行不同的判断条件。简单的例子如下 自己简单的建了一张表 查询语句如下(通过某个字段的值,where后执行不同的刷选条件) SELECT * FROM test_
case
when a WHERE //这里就建了一张表,所以就用表
中
的字段,在
case
when的条件查询语句
中
查询返回flag的值如果等于1 则where后执行flag=‘1’的条件,否则执行flag=‘0的条件’ (
CASE
WHEN ( SELECT fla
oracle
where
case
when where
后面
跟
case
when
where
case
when where
后面
跟
case
when
oracle
在where条件
中
写
case
when
业务:当状态等于2时判断表
中
的userid 是否和当前登录人id相等 SELECT * FROM tbname t WHERE 1=1AND (
CASE
WHEN t.vc_state = '2' THEN t.vc_userId ELSE 当前登录人id END ) = 当前登录人id...
Oracle
17,086
社区成员
55,238
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章