Mysql SQL正则表达式大于

Mysql SQL正则表达式大于,mysql,sql,sql-server,Mysql,Sql,Sql Server,我有一个表,比如说表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

我有一个表,比如说表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'

SQL Server对正则表达式没有本机支持,所以您的问题没有意义。或者,更准确地说,您不能在SQL Server中使用它不具备的功能来执行此操作。SQL Server:您可以这样做:
col,如“%a.b.[2-9]”
。阅读,您将看到许多原因,为什么这个问题的答案绝对是肯定的!在MS SQL中,可以将字符串拆分为3个部分。零件可以转换为数值。然后你就可以比较它们了。@Milney你读过标题了吗?