Форматирование даты в 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");
или вы можете положить "как" да, вы должны выбрать один за другим. его работа !!!!