我在表中有一个varchar列,我需要在该列中找到与模式匹配的所有值。模式为parta partb partc或parta partb positiveinteger partc。除了数字部分,一切都是固定的。例如
**someColumn**
parta-partb-partc
parta-partb-1-partc
parta-partb-1xyz-partc
parta-partb-123-partc
parta-partb-abc-partc
我的搜索查询应该返回
parta-partb-partc
parta-partb-1-partc
parta-partb-123-partc
到目前为止这是我得到的
SELECT *
FROM tableName
WHERE
someColumn ='parta-partb-partc'
OR someColumn LIKE 'parta-partb-%[0-9]-partc'
我无法构造类似的部分来只得到介于正数之间的字符串。
1条答案
按热度按时间7hiiyaii1#
对于mysql,下面的查询给出了预期的结果
对于oracle,下面的查询给出了预期的结果
不幸的是,对于mssql,where子句中不支持regex,因此您必须执行以下操作[具体到您的示例数据]