MySQL формат даты DD/MM/YYYY выбор запроса?
Я немного смущен тем, как упорядочивать по форматам даты.
Для формата YYYY-MM-DD
вы сделаете следующее: ...ORDER BY date DESC...
Как вы заказываете DD/MM/YYYY
?
Это не работает:
SELECT * FROM $table ORDER BY DATE_FORMAT(Date, '%Y%m%d') DESC LIMIT 14
Ответы
Ответ 1
Вы можете использовать STR_TO_DATE()
, чтобы преобразовать ваши строки в значения даты MySQL и ORDER BY
результат:
ORDER BY STR_TO_DATE(datestring, '%d/%m/%Y')
Однако было бы разумно преобразовать столбец в тип данных DATE
вместо использования строк.
Ответ 2
Предполагаю, что вы, вероятно, просто хотите отформатировать дату выхода? то это то, что вы после
SELECT *, DATE_FORMAT(date,'%d/%m/%Y') AS niceDate
FROM table
ORDER BY date DESC
LIMIT 0,14
Или вы действительно хотите сортировать по дням до месяца до года?
Ответ 3
SELECT DATE_FORMAT(somedate, "%d/%m/%Y") AS formatted_date
..........
ORDER BY formatted_date DESC
Ответ 4
Использование:
SELECT DATE_FORMAT(NAME_COLUMN, "%d/%l/%Y") AS 'NAME'
SELECT DATE_FORMAT(NAME_COLUMN, "%d/%l/%Y %H:%i:%s") AS 'NAME'
Ссылка: https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html
Ответ 5
ORDER BY тип даты не зависит от формата даты, формат даты предназначен только для отображения, в базе данных они представляют собой одни и те же данные.
Ответ 6
для моего случая это работало
str_to_date(date, '%e/%m/%Y' )
Ответ 7
Если час важен, я использовал str_to_date(date, '%d/%m/%Y %T' )
, %T
показывает час в формате hh:mm:ss
.
Ответ 8
Дата форматирования в mysql с использованием воспламенителя кода
$from=$_POST['from'];
$to=$_POST['to'];
$table='Your table';
$alias="count(userid)";
$groupby="date_format(yourdate,('%Y-%m'))";
$orderby=array('mostdrill'=>'DESC');
$where="yourdate between '".date('Y-m-d',strtotime($from))."' and '".date('Y-m-d',strtotime($to))."'";
$userdata=$this->yourmodel->function name($alias,$table,$where,'',$orderby,"",$groupby);
Надеюсь, что это полезно
чтобы узнать больше нажмите здесь
Ответ 9
Предполагаю, что вы, вероятно, просто хотите отформатировать дату выхода? то это то, что вы после
SELECT *, DATE_FORMAT(date,'%d/%m/%Y') AS niceDate
FROM table
ORDER BY date DESC
LIMIT 0,14
Или вы действительно хотите сортировать по дням до месяца до года?
Ответ 10
SELECT DATE_FORMAT(COLUMN_NAME, "%d/%m/%Y %h:%i %p");
Например,
SELECT DATE_FORMAT("2019-05-10 19:30:10", "%d/%m/%Y %h:%i %p");
OUTPUT is 10/05/2019 07:30 PM