首页 > 解决方案 > DB2-LUW 中的正则表达式查询

问题描述

我需要一个正则表达式查询来匹配任何具有给定字符的字符串。所以我尝试了例如

SELECT wt.CHGUSER FROM "CDB"."WTBALL" wt where  REGEXP_LIKE (wt.CHGUSER, '^\d*115*$');

所以我期望在每个字符串之间的某个地方获取所有具有 115 的字符串。我尝试了很多组合,但我得到的是空列或奇怪的组合。

标签: db2db2-luw

解决方案


为什么不使用原生的“LIKE”表达? where wt.CHGUSER like '%115%' 这将给出与您的正则表达式不同的结果,因为您的表达式正在寻找“115”,只要它之前和之后有一个数字。与您的问题相匹配的更通用的正则表达式将是'.*115.*'


推荐阅读