上次公司的一个需求,让我从新认识了SQL语句的多样化。通过将正则表达式当成字符串写到SQL中,达到条件的判断。
select provider_code, asset_id
from t_iepg_asset t
where regexp_like(t.asset_id,'^RC.[0-9].{4}')
and substr(t.provider_code, 0, 6) = substr(t.asset_id, 0, 6)
上述SQL中,我的需求是:1.字段asset_id 以大写的RC开头,后面跟四个纯数字;2.字段provider_code、asset_id 的前六位相同。
该SQL可以查询出所有同时满足条件1、2 表t_iepg_asset的集合。
SQL的多样化,使得我们能简化业务逻辑,实现更多复杂的定制化需求。