【问题标题】:Convert VARCHAR2 to TIMESTAMP in Oracle在 Oracle 中将 VARCHAR2 转换为 TIMESTAMP
【发布时间】:2011-11-28 05:53:33
【问题描述】:

我有一个格式为“14-SEP-11 12.33.48.537150 AM”的 VARCHAR2 值,我需要将其按原样转换为 TIMESTAMP。就像,

SELECT TO_DATE('14-SEP-11 12.33.48.537150 AM', '<format_string>') FROM DUAL;

我希望上述查询的返回值为 TIMESTAMP 数据格式的“14-SEP-11 12.33.48.537150 AM”。

'format_string' 应该是什么。

请帮忙,因为我尝试了很多东西,但都没有用.. :(

我正在使用 Oracle 11gR2。

谢谢。

【问题讨论】:

    标签: oracle plsql oracle10g oracle11g


    【解决方案1】:

    DATE 和 TIMESTAMP 是两种不同的数据类型。所以你需要为每个使用正确的转换函数,在你的情况下是TO_TIMESTAMP()

    SELECT TO_TIMESTAMP('14-SEP-11 12.33.48.537150 AM', 'DD-MON-RR HH:MI:SS.FF AM') 
    FROM DUAL;
    

    【讨论】:

    • 如果我们指定 HH24 会报错。它必须是 HH,因为我需要它作为 AM/PM。无论如何感谢这与 HH 合作。
    • @BathiyaPriyadarshana - 哎呀,习惯的力量:我总是用二十四小时制工作。
    【解决方案2】:
    select from_tz(to_timestamp('14-SEP-11 12.33.48.537150 PM', 'DD-Mon-RR HH.MI.SS.FF AM'), 'EUROPE/LONDON') from dual
    

    【讨论】:

      猜你喜欢
      • 2020-12-01
      • 1970-01-01
      • 2021-06-16
      • 1970-01-01
      • 1970-01-01
      • 2017-01-17
      • 2015-08-10
      • 2018-07-11
      • 2020-12-20
      相关资源
      最近更新 更多