数据库如何查询上个月

数据库如何查询上个月,第1张

oracle的话

select from 表名 where to_char(日期字段,'yyyymm')=to_char(add_months(sysdate,-1),'yyyymm')

sqlserver的话

select from 表名 where convert(varchar(6),日期字段,112)=convert(varchar(6),dateadd(month,-1,getdate()),112)

sqlserver:

select convert(varchar(7),dateadd(mm,-tnumber,getdate()),120)

from

(select number from masterspt_values where type='P') t

where year(dateadd(mm,-tnumber,getdate()))=year(getdate())

order by convert(varchar(7),dateadd(mm,-tnumber,getdate()),120)

oracle:

select to_char(add_months(sysdate, -trn), 'yyyy-mm')

  from dual a, (select rownum - 1 rn from dual connect by rownum <= 12) t

 where to_char(add_months(sysdate, -trn), 'yyyy') =

       to_char(sysdate, 'yyyy')

 order by to_char(add_months(sysdate, -trn), 'yyyy-mm')

select number+1

from masterspt_values

where type='p' and DATEADD(day,number, cast(CONVERT(varchar(7),'2013-02-03')+'-01' as datetime))<DATEADD(MONTH,1,cast(CONVERT(varchar(7),'2013-02-03')+'-01' as datetime))

GETDATE()

是获取当前时间的函数

取上周时间 需要用当前的减几天

需要知道 你想取得具体是什么时间

>

sql

server:

取年:

year(时间)

或者datepart(year,时间)

取月:

month(时间)或者datepart(month,时间)

oracle:

取年:

extract(year

from

时间)

或者

to_char(时间,'yyyy')

取月:

extract(month

from

时间)

或者

to_char(时间,'mm')

当然,上述前提都是你的时间是时间类型的,比如sql

server中是datetime类型,oracle中是date类型的

如果时间本来就是用字符串形式存储的,那直接根据格式用字符串函数处理就可以了

以上就是关于数据库如何查询上个月全部的内容,包括:数据库如何查询上个月、SQLServer、Oracle获取当前年份的1月到当前月之间的所有月份、SQL获取当月每一天的语句,比如现在是11月,查出的结果是1,2,3,4....30,最好是SQL等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9790527.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存