首页 > 解决方案 > Oracle 如何将表日期格式更改为 Month5

问题描述

我正在将其他数据分析语言中的月份格式的日期插入到 ORACLE 版本 17.2 中。

日期采用月份格式 Month5。(如 DEC19、JAN20、等等....)。

我在 Oracle 中应该填充这些值的表是 DATE 格式,我知道 TIMESTAMP 格式。ORALCE 中的 DATE 格式限制月份格式 Month5 中值的插入操作。

因此,我想知道我可以在 ORACLE 中更改我的表的 MONTHYY 格式。

谢谢......

标签: oracle

解决方案


您可以使用TO_DATE如下:

TO_DATE('<Your_value>', 'MONRR')

因此,对于来自问题的样本值,它将类似于:

SQL> SELECT
  2      TO_DATE('DEC19', 'MONRR') VAL1,
  3      TO_DATE('JAN20', 'MONRR') VAL2
  4  FROM
  5      DUAL;

VAL1        VAL2
----------- -----------
01-DEC-2019 01-JAN-2020

请注意

  • 如果您跳过TO_DATE函数中的日期(天),它将默认为该月的第一天
  • 如果您跳过月份,它将被视为当前月份
  • 如果您跳过年份,则将其视为当前年份

.

SQL> SELECT
  2      TO_DATE('01JAN', 'DDMON') AS YR, --year skipped
  3      TO_DATE('012012', 'DDYYYY') AS MON,  -- month skipped
  4      TO_DATE('FEB2012', 'MONYYYY') AS DY -- date(day) skipped
  5  FROM
  6      DUAL;

YR          MON         DY
----------- ----------- -----------
01-JAN-2020 01-JAN-2012 01-FEB-2012

SQL>

干杯!!


推荐阅读