如何将日期数字舍入到SQL中最接近的月份?

时间:2016-05-14 05:53:09

标签: mysql sql

2015-01-28T01:45:31.000Z

我想将日期的列值四舍五入到最接近的月份。 有没有办法用SELECT语句做到这一点?

2 个答案:

答案 0 :(得分:2)

select date_format(date_field, '%Y-%m') as date_rounded

答案 1 :(得分:2)

如果日期小于16,则下面的语句将日期舍入当月的第1天,否则日期将四舍五入到下个月的第1天。

SELECT CASE 
         WHEN date_format(myDate, '%d') < '16' THEN
           date_format(myDate, '%Y-%m-01')
         ELSE
           date_format( DATE_ADD(myDate, INTERVAL 1 MONTH) , '%Y-%m-01')
         END as 'date_rounded'
  FROM my_table;