SQL LIKE 子句中的查询 - ORACLE
SQL Query in LIKE Clause - ORACLE
我有一个包含数值的列 table - STORE
STORE
5546
7453
我有另一个 table 有 2 列 - ERROR_LOG
ID ERROR
1 Error matching the 5546 transfer zone
2 Error matching the 7453 supplier
我想检查商店 table 中的值是否存在于 ERROR_LOG table 的错误列中。
有没有办法将 sql 查询放在 LIKE 子句中?还是只能一个一个匹配?
类似于:
select *
from ERROR_LOG EL
join STORE SS
on EL.ERROR like '%' || SS.STORE ||'%'
我强烈建议您在两边都包含分隔符:
select *
from ERROR_LOG EL join
STORE SS
on ' ' || EL.ERROR || ' ' like '% ' || SS.STORE || ' %'
如果您的错误代码不总是四位数,那么它们可能会相互混淆。它们也可能与字符串中的其他值混淆,例如日期。
我有一个包含数值的列 table - STORE
STORE
5546
7453
我有另一个 table 有 2 列 - ERROR_LOG
ID ERROR
1 Error matching the 5546 transfer zone
2 Error matching the 7453 supplier
我想检查商店 table 中的值是否存在于 ERROR_LOG table 的错误列中。
有没有办法将 sql 查询放在 LIKE 子句中?还是只能一个一个匹配?
类似于:
select *
from ERROR_LOG EL
join STORE SS
on EL.ERROR like '%' || SS.STORE ||'%'
我强烈建议您在两边都包含分隔符:
select *
from ERROR_LOG EL join
STORE SS
on ' ' || EL.ERROR || ' ' like '% ' || SS.STORE || ' %'
如果您的错误代码不总是四位数,那么它们可能会相互混淆。它们也可能与字符串中的其他值混淆,例如日期。