mysql - SQL正则表达式大于

标签 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.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/

相关文章:

PHP 对 JSON 响应不显示任何内容

Mysql模拟FULL OUTER JOIN

sql - sql server中max()的问题

sql-server - Excel.Application 不能使用 SQL 作业在 PowerShell 中运行,但可以从命令行运行

php - MySQL Regexp 哪里喜欢值

java - MySQL Connector/J - 将 Java 字符串映射到 MySQL INT

sql - 使用sql server参数化输入?

sql - 通用 SQL 查询监听器

sql-server - 选择前 1000 行之后的记录

mysql - 无法使用node-mysql分页