sql - 用于解释下拉列表的日期范围的 SQL 查询
问题描述
我将带有汽车信息的 SQL 数据库与一个很棒的 WordPress 插件结合使用,该插件可以输出带有数据的动态表。
该插件还通过根据列值过滤内容的下拉菜单提供了很好的过滤功能 - 但是我遇到了一个问题。
数据库的一列包括特定汽车的制造日期范围(例如 2012 - 2016 年)。所以我有很多不同日期范围的汽车,它们经常重叠。因此,当我打开此下拉菜单时,我有很多重复项。
例如:
2012 - 2016
2012 - 2018
2013 - 2014
2013 - 2017
and so on...
我希望用户能够从各种单一年份中进行选择(例如 2014、2015、2016 ......)。如果通过下拉选择了一年(例如 2014 年),则需要显示与此范围匹配的所有行(例如,上面的示例 2012 - 2016 也是匹配的,因为 2014 在此范围内。
我写信给开发人员,他告诉我使用字符串,但我不知道该怎么做。
该插件提供了从 SQL 表中获取数据的可能性$get
。
如果有人帮助我解决这个问题,我真的会很高兴。
解决方案
首先规范化模式并使用两列整数而不是一列中的字符串。例如made_from
低年级和made_to
高年级。
然后你可以简单地使用:
SELECT ...
FROM ...
WHERE made_from <= ?
AND made_to >= ?;
?
(用户输入年份的参数占位符在哪里。)
推荐阅读
- javascript - 在另一个文件中使用函数中的 var
- sql - 我需要按一列分组并显示一个数据集中的更多列
- java - 连接管理器的 OC4j 到 Weblogic 迁移问题
- marklogic - 使用 MarkLogic java api 丰富:cts.entityHighlight
- python - python:名称解析说明?
- node.js - Electron Nodejs - 我需要在网页内容中嵌入一个 pdf 查看器
- vuejs2 - NuxtJs 在哪里声明计算属性
- excel - Excel Userform 更新现有数据
- oracle-ebs - 尝试生成报告时,Oracle 报告卡在后处理中
- bash - 始终向命令添加参数