麻烦存储在数据库中的日期,日期格式,选择不同和排序依据

问题描述 投票:0回答:1

我陷入了这个问题。我有一个MySQL数据库,该数据库的表包含一列(Varchar),其日期以这种格式存储:d.m.Y(即09.11.2019)。

我需要读出不同的日期,最多10个最新日期。

我尝试过此代码,但仅按d排序,而不按m或Y排序。

SELECT DISTINCT date FROM tbl ORDER BY date DESC LIMIT 10
php mysql sql
1个回答
1
投票

您可以使用mysql date function str_to_date()将日期字符串转换为日期:

str_to_date()

格式说明符:

  • select distinct date from tbl order by str_to_date(date, '%d.%m.%Y') desc limit 10 :月份中的一天,数字(01..31)
  • %d:月,数字(01..12)
  • [%m:年,数字,四位数

NB:通常来说,始终使用类似日期的数据类型(%Ydate)来表示数据库中的日期。将日期存储为字符串will会以多种方式叮咬您。

© www.soinside.com 2019 - 2024. All rights reserved.