我需要创建一个SQL查询。 此查询需要从列中包含正则表达式的表中进行选择。
例如,我有这些值:
TABLE测试(名称)
我想选择所有拥有" HRT"在1个字符之后(值1,2和3 - 看起来像#34; -HRT ---"的值)但不是那些可能有" HRT"在1个字符(值5)之后。
所以我不确定怎么做,因为一个简单的
SELECT *
FROM test
WHERE name LIKE "%HRT%"
将返回值1,2,3和5.
很抱歉,如果我对我想要/不需要的东西不太清楚。
答案 0 :(得分:2)
您也可以更改模式。您可以使用%
,而不是使用_
,这意味着零或更多的任何内容。
SELECT * FROM test WHERE name like '_HRT%';
答案 1 :(得分:1)
您可以使用substring
。
SELECT * FROM test WHERE substring(name from 2 for 3) = 'HRT'
答案 2 :(得分:0)
名字总是7个字母吗?做:
SELECT substring (2, 4, field) from sometable
那将只选择第2-4个字符,然后你就可以使用"%HRT"