对于我的EntryDate专栏,我一直试图按月将我的数据成功分成特定名称' 2013_04' 2013_05'等等,所以我以后可以用它来分组我的数据。到目前为止,这段代码还没有成功,如何才能改变它的工作?
CASE
WHEN EntryDate BETWEEN '2013-04-01' AND '2013-04-30' THEN '2013_04'
WHEN EntryDate BETWEEN '2013-05-01' AND '2013-05-31' THEN '2013_05'
WHEN EntryDate BETWEEN '2013-06-01' AND '2013-06-30' THEN '2013_06'
END
谢谢。
答案 0 :(得分:1)
您可以使用DATE_FORMAT
功能:
DATE_FORMAT(EntryDate, '%Y_%m')
http://dev.mysql.com/doc/refman/5.6/en/date-and-time-functions.html#function_date-format
答案 1 :(得分:0)
我会使用year()
和month()
函数,因为这在数据库中很常见:
CONCAT_WS('_', YEAR(EntryDate), MONTH(EntryDate))
但是,DATE_FORMAT()
也是一个很好的解决方案。
答案 2 :(得分:0)
DATE_FORMAT()是最好的选择,但是如果字符串函数和CONVERT可以使用各种数字