登录
首页 >  数据库 >  MySQL

Mysql、pg和oracle数据库怎么获取月份、周?函数比较

来源:SegmentFault

时间:2023-01-25 15:11:01 355浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《Mysql、pg和oracle数据库怎么获取月份、周?函数比较》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下MySQL、postgresql、Oracle,希望所有认真读完的童鞋们,都有实质性的提高。

这里要获取的月份和周不仅仅是一个数字,比如第23周,而是说以周来截断一个日期,用来以周为单位做统计。
所以要么得到的是 2015-05 要么得到 2015-05-03(假设3是这周的第一天), 或者得到 2015-23 表示2015年第23周 也勉强可以。

  • 月份
    因为月份本身是date格式的一个substring,所以取月份都比较方便。
    M

    date_format(date, '%Y%M')

    P
    date_trunc('MONTH', date)

    O
    to_char(date, 'MM-YYYY')  or  TRUNC(date, 'MONTH' or 'MM')
     # 我认为第二种更好

  • M  

    CONCAT(YEAR(date), '/', WEEK(date))
    或者
    FROM_DAYS(TO_DAYS(date) -MOD(TO_DAYS(date) -1, 7))
     后面这....看着就ugly.
    P
    date_trunc('WEEK', date)

    O
     TRUNC(date, 'WW')

看起来MySQL最弱。PG表达最简单,Oracle在表达WEEK的时候只能用W或者WW,而不能直接用“WEEK”。

终于介绍完啦!小伙伴们,这篇关于《Mysql、pg和oracle数据库怎么获取月份、周?函数比较》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布数据库相关知识,快来关注吧!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表