2016-05-14 67 views

回答

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

如果日期小於16日,則以下聲明將日期舍入到當前月份的第一天,否則日期將四捨五入至下一月的第一天。

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; 
相關問題