php - 如何选择两个数字范围之间的结果?

标签 php mysql sql database select

我需要根据列 col1 值选择结果。 col1,col2 是文本字段类型。

 +-----+-----------+------+
 | id  |    col1   | col2 |
 +-----+-----------+------+
 | 1   | 1200-1220 | XXX  |
 +-----+-----------+------+
 | 2   | 1455-1460 | YYY  |
 +-----+-----------+------+

示例查询:

SELECT col2 FROM TABLE_NAME WHERE col1 = 1215

我想要的结果:

'XXX'

我是如何得到上面的结果的。

如果我插入错误,我需要插入一行才能得到结果。

请指教。

最佳答案

这需要一些操作,但在 MySQL 中是可能的:

where 1215 between substring_index(col1, '-', 1) + 0 and substring_index(col1, '-', -1) + 0

也就是说,该字段被解析为第一个值和最后一个值(然后转换为数字)。

关于php - 如何选择两个数字范围之间的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28892761/

相关文章:

php - 将 url 转换为字符串中的链接,除非它们位于 html 标记的属性中

php - 防御 .html 和 .php 文件名猜测

c++ - 如何启动将由 mysql_commit() 提交的 MySQL 事务

sql - 选择和显示排名项目和用户的投票,如 la reddit、digg 等

sql - MySQL/SQL - 子查询的结果何时可用?

mysql - 3 个查询合并并计划创建图形

php - 在 Laravel 中使用 Eloquent 检索关系的关系

javascript - 根据下拉菜单更新隐藏输入

来自 excel vba 的 SQL 查询以访问与数组匹配的返回数据

php - 按用户角色过滤 WordPress 评论