SELECT *查询中的格式化日期

时间:2012-01-31 21:41:39

标签: mysql

是否可以在SELECT *查询中格式化日期字段?我想从我的表中获取所有列,但需要与日期不同的格式。

类似的东西:

SELECT *, FORMATDATE(date,'%m-%d-%y') AS date FROM my_table;

或者我必须在查询后在php中处理它吗?

5 个答案:

答案 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; 是的,你必须逐个选择。它的工作!!!!