【问题标题】:How can I order this MySQL Date?我怎样才能订购这个 MySQL 日期?
【发布时间】:2019-09-11 01:26:04
【问题描述】:

我在按日期排序 mysql 结果时遇到问题。日期格式如下:15:24:57 - 21/04/2019(24 小时制)

我试过了:

SELECT PlayerSteamID, BanLength, BanReason, AdminName, AdminSteamID, PlayerName, MapName, DateAndHour FROM BansList ORDER BY DateAndHour DESC

还有这个

SELECT PlayerSteamID, BanLength, BanReason, AdminName, AdminSteamID, PlayerName, MapName, DateAndHour FROM BansList ORDER BY UNIX_TIMESTAMP(STR_TO_DATE(DateAndHour, '%h:%i:%s - %d/%m/%Y')) DESC

但似乎不起作用...

我怎样才能让它按那个日期和时间排序?

【问题讨论】:

  • 尝试使用ORDER BY DATE(DateAndHour) DESC mysql引擎自动调整格式。如果是datatype是`DATE
  • 哪种数据类型是 DateAndHour ???
  • DateAndHour 列是什么类型?如果它是datetimetimestamp,那么ORDER BY DateAndHour 本身应该可以正常工作。 (如果它不是这些类型之一,为什么不呢?)

标签: php mysql


【解决方案1】:

假设您的 DateAndHour 列是一个字符串,您可能需要适当的转换

  SELECT PlayerSteamID
    , BanLength
    , BanReason
    , AdminName
    , AdminSteamID
    , PlayerName
    , MapName
    , DateAndHour 
  FROM BansList
  ORDER BY str_to_date(DateAndHour, '%T - %d/%m/%Y')  DESC

【讨论】:

  • 谢谢!我没想到!我会在 7 分钟内标记你的答案:)
  • @SniperHero ..如果我的回答是正确的,请将其标记为已接受...看看这里如何meta.stackexchange.com/questions/5234/…
  • 我做到了,我不得不等待,因为如果他们的系统
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-11
相关资源
最近更新 更多