是否可以在SELECT *查询中格式化日期字段?我想从我的表中获取所有列,但需要与日期不同的格式。
类似的东西:
SELECT *, FORMATDATE(date,'%m-%d-%y') AS date FROM my_table;
或者我必须在查询后在php中处理它吗?
答案 0 :(得分:21)
使用DATE_FORMAT:
SELECT *, DATE_FORMAT(date, "%m-%d-%y") AS date FROM my_table;
答案 1 :(得分:1)
select DATE_FORMAT(your_date_field_name,'%m-%d-%y') AS whatever FROM your_table_name_here;
结果是这样的
<强> 11年9月22日强>
而不是
2011-02-02 15:42:51
答案 2 :(得分:0)
我不知道FORMATDATE
是什么,但您可以使用DATE-FORMAT
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format
答案 3 :(得分:0)
如果您正在编写包含不同时区和格式的应用程序,那么更好的做法是使用存储在int(8)字段中的UNIX时间戳,否则您可以格式化查询中的日期字段。
答案 4 :(得分:0)
您可以将列的名称放在date_format的后面。像这样:
$rs = mysql_query("select blablabla,DATE_FORMAT(name_column, '%d-%b-%y | %H:%i')name_column,DATE_FORMAT(name_column2, '%d-%b-%y | %H:%i')as name_column2 from db ORDER BY id DESC limit $offset,$rows");
或者你可以把&#34;作为&#34; 是的,你必须逐个选择。它的工作!!!!