如何在MySQL中使用AM / PM将varchar转换为datetime

时间:2018-09-21 17:55:04

标签: mysql datetime

我有一个这样的varchar约会字段-xx / xx / xxxx

我需要将最大值返回为xx / xx / xxxx AM(或PM)

我不知道如何在包含AM / PM时如何正确返回最大值

我一直在玩

SELECT DATE_FORMAT(max(STR_TO_DATE(pg_date_, '%c/%e/%Y %H:%i')), '%Y-%m-%d %H:%m:%s') from cas_compliance.failedrefunds2

我无法完全按照自己的需要退货。

谢谢!

2 个答案:

答案 0 :(得分:1)

要将 xx / xx / xxxx 转换为 xx / xx / xxxx AM(或PM),您可以尝试以下操作:

SELECT DATE_FORMAT(MAX(STR_TO_DATE(pg_date_, 
                                   '%c/%e/%Y %H:%i')
                      ), 
                  '%c/%e/%Y %r') 
FROM cas_compliance.failedrefunds2

详细信息:

  • %r 时间为12小时AM或PM格式(hh:mm:ss AM / PM)
  • %H 小时(00到23)
  • %i 分钟(00到59)
  • %c 数字月份名称(0到12)
  • %e 每月的一天,以数值(0到31)
  • %Y 年,为4位数字

答案 1 :(得分:0)

选择DATE_FORMAT(now(),“%d-%m-%y%r”);

使用上述格式转换日期即可解决问题。