mysql - 如何使用日期时间选择 SQL 中大于特定时间的条目?

标签 mysql sql datetime

我有一个 MySQL 数据库,第一列用于索引(自动递增),第二列作为日期时间。我想选择大于特定日期和时间的所有条目并显示它们。

要查看大于所选值的日期和时间,此方法有效 -

SELECT * FROM FULL_WATSON_V2 WHERE (datetime > '2014-06-25 17:22:00');

但是用户只需输入从现在开始多久之前需要数据,使用这种形式很麻烦。例如,用户将指定需要从 2 小时 40 分钟前开始的数据。

为此编写 SQL 查询的最佳方法是什么?

PS - 我相信 datepart() 可以以某种方式使用,但我无法让它工作。

最佳答案

我建议您坚持使用现有的查询,因为这是查找记录的上下文无关版本。 UI 将时间指定为与当前时间的偏移量这一事实是业务逻辑决策,不应过滤到您的 SQL。

即捕获偏移量的 UI 应确定小于当前时间的日期并将其用作查询的输入,而不是使用依赖于计算该偏移量的 SQL 查询。

关于mysql - 如何使用日期时间选择 SQL 中大于特定时间的条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24419214/

相关文章:

php - 此查询的可能 JOIN

mysql - 根据 mySQL 中不同的 id 查找时间差

sql - 在列中的任何行等于1的情况下选择行,如果不相等,则列等于2,但不能同时包含两者

ruby-on-rails - Rails 3,updated_at 提前 1 天吗?

datetime - 时间/日期范围语法

带有总和导致问题的Mysql子查询

html - 如果方法没有返回数据,打印一个空的表格单元格

sql - Drop Master Key 继续运行

MYSQL 项目事务

vb.net - 我可以在 vb.net 中调用来确定夏令时吗?