sql获取这个月与上个月的数据(加分)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql获取这个月与上个月的数据(加分)相关的知识,希望对你有一定的参考价值。

就是获取比如今天13号,就获取本月十三号和上月十三号,一一对应!求解……加分
各位理解错了!我要的是本月1号到13号和上月1号到十三号的数据。并且都要显示出来。

参考技术A 1> SELECT GETDATE() AS 今天, DATEADD(mm, -1, GETDATE() ) AS 上月
2> go
今天 上月
----------------------- -----------------------
2011-10-13 17:01:23.223 2011-09-13 17:01:23.223

(1 行受影响)

上面是 sql server 的函数。本回答被提问者采纳
参考技术B select * from table where datepart(dd,时间)<=13 参考技术C select * from 表 where datepart(dd,时间)=13 参考技术D -------------------------------------------------------------------------------------------------------------------------- 上月1号-13号,这月1-13号--------------------
MSSQL: select * from [table] where [column] between dateadd(day,-day(getdate())+1,getdate()) and getdate() union all
select * from [table] where [column] between dateadd(day,-day(dateadd(month,-1,getdate()))+1,dateadd(month,-1,getdate())) and dateadd(month,-1,getdate())

oracle : select * from [table] where [column] between trunc(sysdate,'mm') and sysdate union all select * from [table] where [column] between trunc(add_months(sysdate,-1) ,'mm') and add_months(sysdate,-1)

在sql中获取上个月日期的数据

【中文标题】在sql中获取上个月日期的数据【英文标题】:Getting the last month date's data in sql 【发布时间】:2014-01-23 07:31:39 【问题描述】:

我有以下查询来获取上个月日期的数据。假设今天是23rd Dec,那么它获取23rd Nov 数据。但是当它是31st Dec 时,就没有31st Nov。在这种情况下,它应该获取30th Nov 数据。

所以,我想减少一天并再次检查条件并应该获取数据。在这种情况下,假设在March 31st,首先该查询甚至应该检查feb 31st,然后它应该检查feb 30,然后是29th,以此类推,直到该特定月份的有效日期。

我当前的查询:

select * 
from dataTable 
where date(datecolumn)=date(add_months(DATE(sysdate-1) ,-1));

因此,这只获取上个月的日期数据。那么,有人可以建议我如何检查查询中提到的验证并获取数据吗?

【问题讨论】:

您当前的查询不是有效的 Postgres 查询。你确定你正在使用或瞄准 Postgres? @MilenA.Radev 抱歉,我目前正在 mysql 中测试此查询,必须将此查询转移到实际服务器上的 postgres。 如果是 12 月 30 日,它应该获取什么? @PeterRing 同样,在 12 月 30 日它应该获取 11 月 30 日,甚至在 12 月 31 日它应该获取 11 月 30 日,因为 11 月 31 日不是有效日期。 【参考方案1】:

试试这个:

SELECT dateadd(mm, -1, Convert(Datetime, '2013-12-31')

【讨论】:

这是否适用于条件?就像是 10 月 31 日一样,它应该获取 9 月 30 日,因为 9 月 31 日无效。 执行即可。我认为您不需要任何条件,只需通过日期即可。

以上是关于sql获取这个月与上个月的数据(加分)的主要内容,如果未能解决你的问题,请参考以下文章

Presto sql获取上个月的数据直到当天的数据?

如何获取我的 SQL/Vertica 表中每个日期的上个月数据

这个 SQL 函数如何获取上个月的第一天?

sql中获取到两条数据,怎么获取最新的

在sql中获取上个月日期的数据

如何在 SQL Server 中获取上个月的昨天日期?有人可以帮我解决这个问题吗?