2014-07-14 279 views
1

我有一个问题,关于试图运行一个sql语句返回一个名为月的列的值(我已经定义为varchar类型,但只有整数值1- 12)作为关联的月份名称。因此,例如,查询会在1月份返回值1。我有的问题是我试图使用date_formatSQL Date_Format月份数到月份名称

 select date_format(month,'%M')from db.table name 

但值返回为空。我被告知,为了使date_format有效,月份值必须是'日期'类型。但是,这一列'月'中的值只是整数。所以我遇到了不能将日期类型分配给月份列的问题,因为它们只是整数而不是日期的正确格式?我怎么能把这些单一的整数,然后返回一个月呢?

+0

你能投或以其他方式整数转换成日期格式? – Andrew

回答

2

语法

DATE_FORMAT(日期,格式)

要求日期作为第一个参数

退房MySQL的日期功能在这里:

http://www.w3schools.com/sql/sql_dates.asp

为此,您可以使用这个,

选择colMonthNumber, MONTHNAME(STR_TO_DATE(col, '%M'))为MonthName FROM table_name WHERE col < = 12

+0

感谢这工作。你真棒。 – user3794422