Форматирование даты в SELECT * query

можно ли форматировать поле даты в запросе SELECT*? Я хочу получить все столбцы из моей таблицы, но нужен другой формат даты.

что-то типа:

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

или мне нужно обработать его в php после запроса?

5 ответов


использовать DATE_FORMAT:

SELECT *, DATE_FORMAT(date, "%m-%d-%y") AS date FROM my_table;

select DATE_FORMAT(your_date_field_name,'%m-%d-%y') AS whatever FROM your_table_name_here;

результат примерно такой

09-22-11

в отличие от этого

2011-02-02 15:42:51


Я не знаю FORMATDATE, но вы можете использовать DATE-FORMAT

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format


Если вы пишете приложение, содержащее различные часовые пояса и форматы, лучше использовать метку времени UNIX, хранящуюся в поле int(8), иначе вы можете форматировать поля даты в запросах.


вы можете поместить имя столбца в спине 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");

или вы можете положить "как" да, вы должны выбрать один за другим. его работа !!!!