Oracle SQL的月份,日期帮助

时间:2013-11-22 03:07:12

标签: sql database oracle11g

以下是我需要帮助的问题:

按名称顺序列出凡人身份证,计划于1999年后到期的任何人的姓名和出生日期。以此格式显示日期:2001年1月22日

我已经获得了所有代码,除了一部分,见下文:

SQL> SELECT MORTAL.MORTAL_ID,
  2  TO_CHAR(DOB,'MONTH DD YYYY ') AS DATE_OF_BIRTH,
  3  FIRST_NAME||' '||LAST_NAME AS EXPIRES_AFTER_1999
  4  FROM MORTAL
  5  JOIN INSURED ON MORTAL.MORTAL_ID = INSURED.MORTAL_ID
  6  JOIN POLICY ON INSURED.POLICY_ID=POLICY.POLICY_ID
  7  WHERE TO_CHAR(POLICY.EXPIRE_DATE, 'YYYY') <= 1999
  8  ORDER BY LAST_NAME;

 MORTAL_ID DATE_OF_BIRTH        EXPIRES_AFTER_1999
---------- -------------------- -------------------------
       106 FEBRUARY  22 1995    Charles JOHNSON
       105 JANUARY   31 1972    Tamara Johnson
       107 JUNE      22 1972    Randy Johnson
       120 MAY       20 1980    BEVERLY Schwitzer-Pless
       119 MAY       12 1962    Danielle Schwitzer-Pless
       111 JUNE      30 1953    Kimberly VAUBEL
       110 MARCH     02 1947    John Vaubel

我需要这个格式的日期: 2001年1月22日

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

这是您需要的格式:

select to_char( sysdate, 'MON. dd, YYYY' ) from dual

在这里看小提琴: http://sqlfiddle.com/#!4/d41d8/20997

如果你想在camelCase中使用月份,例如Jan.只需更改格式:

select to_char( sysdate, 'Mon. dd, YYYY' ) from dual

小提琴:http://sqlfiddle.com/#!4/d41d8/20998

所有日期格式的Oracle文档:DateTime Format Elements