选择一个比今天更短的日期

时间:2017-12-11 23:00:43

标签: 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

请帮帮我怎样才能得到这个。

2 个答案:

答案 0 :(得分:2)

因为最初的问题标有 我提供了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

答案 1 :(得分:0)

select * from yourtable t where t.date_value < getdate()