我一直在寻找这样的解决方案,但到目前为止还没有积极的结果...... 我的表格包含条目数据,例如
其中'_'是通配符,可以是0-9。 我想找到一种方法来检索这些数据,例如: SELECT *来自表WHERE数据LIKE'8424',查询应返回8424和8_24。
提前谢谢!
PS。关键是,A 数据如'8_24'可以理解为'8024'或'8124'或'8224'等, 第6排也是如此。 因此,如果我从表WHERE数据LIKE'8424'查询是SELECT *,它应返回第4行和第6行。如果我在表WHERE数据LIKE'8_2_'中使用SELECT *,则会包含第7行,这不是我想要的。
最后, 我找到了解决方案。它非常简单,只需使用: SELECT * FROM表WHERE'8424'LIKE数据 谢谢大家的答案!
答案 0 :(得分:0)
SELECT * FROM table WHERE data LIKE '8%24'
这也会吸引像'834434224'这样的东西但是......
SELECT * FROM table WHERE data LIKE '8_24'
这使用单个字符通配符(_)并且可以工作。
答案 1 :(得分:0)
select * from table where data like '8[4_]24'
请参阅LIKE文档中的“模式”部分。您可以使用[]
指定范围或字符集。
答案 2 :(得分:0)
从表中选择*,其中data = substr('8424',0,instr(data,''))|| SUBSTR( '8424',INSTR(数据, ''),长度(数据));
这将确保单个通配符输入
其他尝试
从表中选择*,其中replace(data,'_','%')类似于'8424';