将日期转换为字符串

使用 TO_CHAR( date [, format_model [, nls_params]] )

(注意:如果未提供格式模型 ,则 NLS_DATE_FORMAT 会话参数将用作默认格式模型 ;对于每个会话,这可能不同,因此不应该依赖。最好始终指定格式模型。)

CREATE TABLE table_name (
  date_value DATE
);

INSERT INTO table_name ( date_value ) VALUES ( DATE '2000-01-01' );
INSERT INTO table_name ( date_value ) VALUES ( TIMESTAMP '2016-07-21 08:00:00' );
INSERT INTO table_name ( date_value ) VALUES ( SYSDATE );

然后:

SELECT TO_CHAR( date_value, 'YYYY-MM-DD' ) AS formatted_date FROM table_name;

输出:

FORMATTED_DATE2000-01-01
2016-07-21
2016-07-21

和:

SELECT TO_CHAR(
         date_value,
         'FMMonth d yyyy, hh12:mi:ss AM',
         'NLS_DATE_LANGUAGE = French'
       ) AS formatted_date
FROM   table_name;

输出:

FORMATTED_DATEJanvier   01 2000, 12:00:00 AM
Juillet   21 2016, 08:00:00 AM
Juillet   21 2016, 19:08:31 PM