未来的大佬 2022-10-06 09:30 采纳率: 0%
浏览 30

like后接子查询,怎么解决子查询为null时,查所有的问题

like 后接子查询 怎么解决子查询为null时 查所有的问题?

不想写两段代码太麻烦了

实例:
SELECT ID
FROM
dbs_subject_domain
WHERE
name_path LIKE concat ( ( SELECT name_path FROM dbs_subject_domain WHERE ID = 'efe01a5788b508c938580bb9cbe1111b575b1' ), '%' )

当子查询为查不出东西的时候 整个查询语句会查出所有,不是我想要的结果 想要子查询为null时,啥都查不出来

  • 写回答

1条回答 默认 最新

  • Java大魔王 2022-10-06 09:44
    关注

    查询全部的原因是因为只剩下了一个%,所以把concat拼接%放到子查询的判断null里就好了

    SELECT ID
    FROM
    dbs_subject_domain
    WHERE
    name_path LIKE 
    ( 
        SELECT 
            case when name_path is not null then concat(name_path , '%')
            when name_path is null then null
            end as name_path 
        FROM dbs_subject_domain 
        WHERE ID = 'efe01a5788b508c938580bb9cbe1111b575b1'
    )
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 10月6日

悬赏问题

  • ¥15 联想笔记本开机出现系统更新界面
  • ¥15 各位帮帮我 我不想重做系统
  • ¥30 微信小程序蓝牙数据透传
  • ¥15 加氢站氢负荷数据集来源
  • ¥15 umi接入sentry遇到问题
  • ¥15 HBuilderX打包H5网页,扫码模块无法使用
  • ¥15 Javascript跳转页面后,无法执行后面代码,如何解决?
  • ¥15 echarts绘制图表
  • ¥15 请教两个关于高德地图定位不准的技术问题
  • ¥15 根据企业名称 对照两个文件 样本筛选/匹配