选择带偏移量的语句

时间:2013-11-25 15:17:58

标签: sql sqlite select

我的表格中有一个条目“123456789”。

Select * from map where col like '%1%5%6%7%9'.

我想检索输入序列顺序匹配的记录,但我也想确保任意2个匹配数字之间的距离小于2.

我有什么方法可以指定偏移吗?

enter image description here

输入是189,它选择记录,但我希望1.8.9在彼此的2之内。 12879将是可接受的输出,但123456789不会。

1 个答案:

答案 0 :(得分:1)

以下声明在1到5之间需要3到5个字符:

SELECT * FROM map WHERE col LIKE '%1___%5%6%7%9' AND col NOT LIKE '%1______%5%6%7%9%'

使用_你可以强制任意数量的字符。

编辑:字符已更正。资料来源:SQLite expression

签入this SQL Fiddle sample