如何使用AM和PM Oracle SQL订购表示日期和时间的VARCHAR2列?

如何使用AM和PM Oracle SQL订购表示日期和时间的VARCHAR2列?,sql,oracle,Sql,Oracle,您好,我有以下专栏,我想按日期从早到晚订购。格式如下所示 08/16/2019 08:09:51 AM 我想出了这个,但它给了我一个错误 ORDER BY date_format(STR_TO_DATE(`END_TIME`,'%m-%d-%y %h:%i:%s %p'),'%Y-%m-%d %H:%i:%s') 我不能严格地按日期订购,因为下午2点到了上午8点之前,这是错误的,所以我试着把它放在正确的格式,我觉得我很接近。有什么想法吗?也许我错了,但我看这里没有什么错: select to

您好,我有以下专栏,我想按日期从早到晚订购。格式如下所示

08/16/2019 08:09:51 AM
我想出了这个,但它给了我一个错误

ORDER BY date_format(STR_TO_DATE(`END_TIME`,'%m-%d-%y %h:%i:%s %p'),'%Y-%m-%d %H:%i:%s')

我不能严格地按日期订购,因为下午2点到了上午8点之前,这是错误的,所以我试着把它放在正确的格式,我觉得我很接近。有什么想法吗?

也许我错了,但我看这里没有什么错:

select to_char(to_date(Date_c,'mm/dd/yyyy hh:mi:ss AM'),'mm/dd/yyyy hh:mi:ss AM') 
from myTable
order by to_date(Date_c,'mm/dd/yyyy hh:mi:ss AM');
也就是说:

select *
from myTable
order by to_date(Date_c,'mm/dd/yyyy hh:mi:ss AM');

这是“按日期强制转换”应该起作用的代码,我想这看起来像是mysql,而不是oracle。请更新标签。如果您正处于项目的设计阶段,我会进行重构,使用实际的
DATE
类型作为日期值,而不是
VARCHAR2
。您是否对同时也是MySQL DB所有者的Oracle公司感到困惑,对于Oracle DB?这种语法不属于Oracle DB。@BarbarosÖzhan排名第四……对不起,他没有提到是mysql,但他回答了老程序员的问题……这是正确的答案。非常感谢:)我的格式是错误的,我以前是,但我认为它不会拿起下午。