我有一个表,比如说表 A,其数据遵循相同的模式:
- a.b.1.c
- a.b.2.c
- a.b.3.c
- a.b.3.d
例如,当数字大于 1 时,如何选择数据?
正确知道,我正在使用:
SELECT * FROM A WHERE col LIKE "%a.b.%"
然后,在java中,我设法得到哪些大于a.b.1
不可能在单个查询中完成此操作吗?
(我需要在MySql和SQLServer中执行)
最佳答案
如果我正确理解你的问题,你想跳过 a.b.1.* 所在的所有行并选择从 a.b.2.* 开始的数据,因此 a.b.2 将是你的第一个可能的匹配项,查询应如下所示:
WITH dataset
AS
(
SELECT 'a.b.1.c' AS List
UNION ALL
SELECT 'a.b.2.c'
UNION ALL
SELECT 'a.b.3.c'
UNION ALL
SELECT 'a.b.3.d'
)
SELECT * FROM dataset
WHERE List >= 'a.b.2'
关于mysql - SQL正则表达式大于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45034983/