sql
我用的是PosgreSQL
like后面接子查询如何处理 子查询为null时 会造成查所有的问题
SELECT ID
FROM
dbs_subject_domain
WHERE
name_path LIKE (
SELECT concat ( name_path, '%' ) FROM dbs_subject_domain WHERE ID = 'efe01a5788b508c938580bb9cbe1111b575b1')
直接将需要like 的字段和’%'进行拼接即可
下面是成功案例:
错误案例:
还好有大佬提供了拼接的思路
还有mysql版的 是大佬提供的 因为工作电脑 没有mysql 回家自建表测试一下
mysql版
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'
)