oracle 时间函数 TO_DATE

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/uotail/article/details/83152805

https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions183.htm

TO_DATE(char [, fmt [, 'nlsparam' ] ])

参数

TO_DATE()函数接受三个参数:

1) char

是一个字符串值,它被转换为一个DATE值。它可以是任何数据类型CHAR,VARCHAR2,NCHAR或NVARCHAR2的值。

2) fmt

是的日期和时间格式string

fmt 参数是可选。如果忽略则取决于默认日期格式

默认日期格式由NLS_TERRITORY初始化参数隐式确定,或者可以由NLS_DATE_FORMAT参数显式设置。

'nlsparam'函数在此函数中的TO_CHAR作用与日期转换函数中的作用相同。

fmt的理解请参考上一篇https://blog.csdn.net/uotail/article/details/83150030

3) 'nlsparam'

是一个表达式,用于指定日期和月份名称的语言string。该nls_language参数具有以下形式:

1

NLS_DATE_LANGUAGE = language

这个'nlsparam'参数是可选的。如果省略它,该TO_DATE()函数将使用会话的默认语言。

返回值

TO_DATE()函数返回一个DATE与输入字符串对应的值。

 

以下示例将字符串转换为日期:

SELECT TO_DATE('January 15, 1989, 11:00 A.M.','Month dd, YYYY, HH:MI A.M.','NLS_DATE_LANGUAGE = American') FROM DUAL;

如果NLS_TERRITORY参数设置为' AMERICA',则返回的值反映默认日期格式。不同的NLS_TERRITORY值会导致不同的默认日期格式:

ALTER SESSION SET NLS_TERRITORY = 'KOREAN';
SELECT TO_DATE( 'January 15, 1989, 11:00 A.M.','Month dd, YYYY, HH:MI A.M.','NLS_DATE_LANGUAGE = American') FROM DUAL;

例子

select to_date('2018-10-18 21:01:52','YYYY-MM-DD HH24:MI:SS') from dual

 SELECT TO_DATE( '5 Jan 2017', 'DD MON YYYY','NLS_DATE_LANGUAGE = American' ) FROM dual;

 

猜你喜欢

转载自blog.csdn.net/uotail/article/details/83152805