sql - 给定一个日期,如何获取数据库中的下一个和上一个日期

标签 sql mysql

我有一个包含大量日期的数据库。我想给定一个日期,获取数据库中的下一个日期和数据库中的上一个日期。

所以给定一个包含 10/10/09、10/12/09 和 10/15/09 的数据库,如果有人输入日期 10/13/09,它应该返回 10/12/09 作为前一个日期下一个日期是 10/15/09。

我该怎么做?谢谢!

最佳答案

您可以使用两个查询轻松地做到这一点:

-- get previous date
SELECT MAX(DateField) WHERE DateField < '2009-10-13';
-- get next date
SELECT MIN(DateField) WHERE DateField > '2009-10-13';

如果你在 DateField 上有一个索引,那么这个查询也会非常高效。

关于sql - 给定一个日期,如何获取数据库中的下一个和上一个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1365481/

相关文章:

mysql - 将数据库中的分钟数据转换为小时时如何删除和更新行

php - 如何触发MySQL查询

javascript - 无法获取表中克隆行的日期选择器

mysql - 如何在 Cloud9 上拥有旧版本的 Ruby

mysql - 错误代码: 1215.无法在MySQL中添加外键约束

php - 无法修复 PDO 建立动态 sql 时参数编号无效

python - Django cooking 食谱站点模型结构

sql - 将数据从 SQL Server Express 导出到 CSV(需要引用和转义)

mysql - 选择/查询计算时间戳之间的时间(不含周末)

mysql - 如果一个字段为 NULL,GROUP_CONCAT 返回一行 NULL