PLSQL中如何用正则筛选含两组双字符代码的VARCHAR列记录?
解决PLSQL中筛选特定格式VARCHAR列的问题
你需要筛选列内容严格符合category from XX to YY格式的记录(XX、YY均为双字符代码),同时排除category from to YY这种缺少XX的情况,之前的SQL未达预期是因为正则逻辑混乱且未限定匹配范围。
直接使用以下SQL即可实现需求:
SELECT * FROM your_table WHERE REGEXP_LIKE(column_name, '^category from .{2} to .{2}$');
正则说明
^和$限定匹配整个字符串,避免列中包含无关内容时误匹配.{2}匹配任意两个字符,对应XX和YY的双字符代码- 固定片段
category from和to严格对应目标格式的空格位置,确保匹配精准
如果业务上XX、YY只能是字母或数字,可将.替换为[A-Za-z0-9],进一步缩小匹配范围:
SELECT * FROM your_table WHERE REGEXP_LIKE(column_name, '^category from [A-Za-z0-9]{2} to [A-Za-z0-9]{2}$');
内容的提问来源于stack exchange,提问作者Augusto E.
相关产品推荐
相关产品推荐

