我从oracle max函数中得到了错误的结果。它似乎选择了min日期而不是max日期。我简化了表。
Oracle版本:“Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.17.0.0.0”表:
ID_PLCMT_EVENT NUMBER(16,0)
DT_PLCMT_END DATE
ID_CASE NUMBER(16,0)
质询:
select id_plcmt_event, dt_plcmt_end,id_case from placement where id_case=47626279;
结果:
350048317 09-MAR-21 47626279
350876791 20-MAY-21 47626279
355789596 21-NOV-22 47626279
393605551 17-FEB-23 47626279
389981360 31-JAN-23 47626279
394670566 31-DEC-12 47626279
质询:
select max(dt_plcmt_end) from placement where id_case=47626279;
结果:
31-DEC-12
1条答案
按热度按时间dluptydi1#
你有两位数的年份,所以一个日期可能是1921年,另一个是2013年,如果你的日期格式是
RR-MON-DD
,这是匈牙利的默认日期格式,或者DD-MON-RR
,这是美国,中国,英国和其他几个国家的默认日期格式(请参阅Oracle's Default Date format),这并不明显。要查看整个日期,您可以用途:
以及:
如果您使用的是SQL*Plus或SQL Developer,则可以使用以下命令更改默认日期格式:
对于其他客户端应用程序,通常会有一个首选项,您可以在日期格式的设置中进行更改。