sql - 选择一个小于今天的日期

标签 sql postgresql

我有如下表格。

id  date            value
12  2017-12-11      250
13  2017-12-11      256
14  2017-11-10      300
15  2017-11-09      400

我需要编写一个查询,以获取今天的前一天。 就像今天是 2017-12-11,查询应该只返回

id  date        value
14  2017-11-10  300

请帮助我如何获得它。

最佳答案

因为最初的问题被标记为 我提供了 3 个版本的解决方案

SQL Server 版本

您可以使用 Convert(date, getdate()) 获取今天的日期(没有时间),通过一个简单的查询您就可以得到您正在寻找的内容

SELECT TOP 1 *
From MyTable 
Where [date] < Convert(date, getdate()) 
ORDER BY [date] desc

SQLFiddle demo

PostgreSQL 版本

SELECT  *
From MyTable 
Where date < current_date
ORDER BY date desc
limit 1

SQLFiddle demo

MySQL版本

SELECT  *
From MyTable 
Where date < current_date
ORDER BY date desc
limit 1

SQLFiddle demo

关于sql - 选择一个小于今天的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47762819/

相关文章:

php - 根据给定日期连接两个表时列出唯一行

sql - Postgres 对 Index 与 Seq Scan 的使用不一致

sql - 如何编写 SQL 查询以从记录中获取按列逗号分隔的值列表

python - 从标准 sqlite 数据库更改为 postgres 数据库

java - 在java中缓存sql结果集

mysql - 如何在 SQL 中对逗号分隔的字符串求和?

sql - 类别的递归选择

java - JSP 数据库访问不工作

postgresql - 无法连接到 pgpool

asp.net - 为什么 @User.IsInRole 不起作用?