【问题标题】:Oracle to_char bugOracle to_char 错误
【发布时间】:2011-11-27 21:41:29
【问题描述】:

我不知道这是一个错误还是什么,但是当我尝试使用 Oracle 中的 to_char 函数以某种方式格式化星期几时,SQL Plus 给我这个错误:ORA-01821:日期格式不认识

这是导致问题的行

SELECT TO_CHAR(sysdate,'dsp') from dual;

所以 d 是“星期几”,而 sp 是拼写。 这行应该打印 5,因为我们是星期四。

这很奇怪,因为下一行有效

SELECT TO_CHAR(sysdate,'ddsp') from dual;

dd 代表“日期”,所以 sql plus 打印了二十九没有任何问题!!

谁能告诉我为什么这条线不工作?

谢谢..

【问题讨论】:

  • 我正在使用 Oracle 10G express :)
  • 将它拼出来的 sp 选项对我来说是新的,所以我决定尝试一下。在 Oracle 9i Enterprise 9.2.0.7.0 上“select to_char(sysdate, 'dsp') from dual;”给出你预期的结果。不幸的是,我不知道为什么它不适合你。
  • 对我来说很好 (11.2)
  • 我正在使用 Oracle 10G 企业版 (10.2.0.3.0) 并获得与您相同的行为,Joel
  • @maz,并不总是一个直接的选择 ;-)

标签: sql oracle date format to-char


【解决方案1】:

如果你必须完成这项工作,这里有一个丑陋的解决方法:

SELECT to_char(to_date(to_char(SYSDATE,'d'),'j'),'jsp') FROM dual;

对我来说看起来像一个错误......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-24
    • 1970-01-01
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    相关资源
    最近更新 更多