【问题标题】:Comparing Two parts of two String in mysql在mysql中比较两个字符串的两个部分
【发布时间】:2016-06-28 03:57:55
【问题描述】:

我的数据库中有名为 range 的列,它存储像“2500-3000”这样的值,并且我正在以相同的格式从客户端接收和输入。我想要做的是搜索我的数据库以找到客户输入的范围。我需要的是一个可以有效比较这些范围的 sql 查询。

【问题讨论】:

  • 到目前为止你有没有尝试过任何东西!
  • 您应该考虑规范化您的数据库并将范围存储在两个单独的列中。
  • 看起来像一个 XY 问题。我认为数据库的设计是有缺陷的。不应将范围规范存储为字符串,而应使用两个数字字段来描述范围边界。然后客户端输入也可以解析为两个数字,重叠或包含范围的比较是微不足道的。
  • 这是一种可怕的数据保存方式

标签: php mysql regex range


【解决方案1】:

使用 BETWEEN 运算符

SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN 2500 AND 3000.

【讨论】:

  • 这既不考虑用户输入也不考虑特定问题的范围存储。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-04
  • 2018-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-05
相关资源
最近更新 更多