2015-01-28T01:45:31.000Z
我想将日期的列值四舍五入到最接近的月份。 有没有办法用SELECT语句做到这一点?
答案 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;