oracle上个月某一天的数据

Posted

tags:

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

where条件要查上个月9号到10号、10号到11号……的数据,每个月都要查,想一执行sql就能查到上个月9号到10号的数据,求解

SELECT
*
FROM

WHERE
日期 >= ADD_MONTHS (TRUNC( SYSDATE, \'MM\' ). -1) + 8
AND 日期 <= ADD_MONTHS (TRUNC( SYSDATE, \'MM\' ). -1) + 9


说明:

sysdate 是今天

TRUNC( SYSDATE, 'MM' )   是 本月1号

ADD_MONTHS (TRUNC( SYSDATE, 'MM' ). -1)  是上月1号

ADD_MONTHS (TRUNC( SYSDATE, 'MM' ). -1) + 8  是上月9号

ADD_MONTHS (TRUNC( SYSDATE, 'MM' ). -1) + 9  是上月10号

追问

万分感谢,那本月的8好是不是ADD_MONTHS (TRUNC( SYSDATE, 'MM' ). 0) + 8????
顺便问下,2月份的第三天怎么写呢?

追答

TRUNC( SYSDATE, 'MM' ) 是 本月1号

本月的8号 = TRUNC( SYSDATE, 'MM' ) + 7

TRUNC( SYSDATE, 'YYYY' ) 是 本年1月1号

ADD_MONTHS ( TRUNC( SYSDATE, 'YYYY' ) , 1) 是 本年2月1号

2月份的第三天 = ADD_MONTHS ( TRUNC( SYSDATE, 'YYYY' ) , 1) + 2

参考技术A select * from 表名 where to_char(add_months(时间字段,-1),'dd') in ('09','10')

你说的9到10号。10到11号啥意思啊?追问

顺便问下,2月份的第三天怎么写呢?

追答

以date显示
select add_months(trunc(sysdate,'yyyy'),1)+2 from dual
以字符串显示
select to_char(add_months(trunc(sysdate,'yyyy'),1)+2,'yyyy-mm-dd') from dual

JavaScript怎么获得某一天的前一天日期

参考技术A js中获取当前时间可以使用new Date(); 而要获取前一天的时间,可以使用当前时间减去一天的毫秒数,得到毫秒数之后然后再转换成时间。 即var yesterdsay = new Date(new Date().getTime() - 86400000); new Date().getTime()用户获取当前时间的毫. 参考技术B data.getDay()-1

以上是关于oracle上个月某一天的数据的主要内容,如果未能解决你的问题,请参考以下文章

MySQL中, 如何查询某一天, 某一月, 某一年的数据.

获取3个月前的时间(获取某一天的时间 NSDate)

oracle求查询连续三天的数据

sqlserver如何根据当前日期获得上月某一天的日期

java如何实现在下个月的某一天自动获取某数据

mongodb查询某一天的数据