TO_DATE

说明

将一个文本类型的TIMESTAMP类型数据,转换成DATE类型。

语法

to_date ::=

参数

text_expression1

给定的表达式。timstamp类型数据的书写形式,只是年月日时分秒之间的间隔可以用其它的字符来代替。

text_expression2

给定的格式表达式:应为date的格式,如果不指定格式,则类型转换需要参照DATEFORMAT参数的格式。 如果DATEFORMAT参数未指定,则会参照DATEORDER和DATESTYLE进行匹配,如果匹配失败则报错。

返回值

与date_expression相同的类型

注解

  • 文本中的数据应是TIMESTAMP数据类型的书写形式,只是间隔符可以不是'-'。
  • 由于oracle支持'20020206'这种输入的日期时间串,使用TO_DATE('20020206', 'YYYYMMDD')即可,可不用分隔符

示例

示例1: 使用 TO_DATE 转换

--  使用 TO_DATE 转换
SELECT TO_DATE('2000-02+06 11??12A01', 'YYYY&MMpDD');
TO_DATE(date)      |
-------------------
2000-02-06         |
总数目:1

示例2: 使用 TO_DATE 转换(兼容 ORACLE 格式)

--  使用 TO_DATE 转换(兼容 ORACLE 格式)
SELECT TO_DATE('2000.02.06', 'YYYY-MM-DD');
TO_DATE(date)      |
-------------------
2000-02-06         |
总数目:1

示例3: 使用 TO_DATE 转换(纯时间串输入)

set DATEFORMAT='YYYY-MM-DD HH24:MI:SS.FF';


select date_out(to_date('12', 'HH24:MI:SS.FF'));
DATE_OUT                   |
---------------------------|
2023-08-01 12:00:00.000000 |

select date_out(to_date('12:13', 'HH24:MI:SS.FF'));
DATE_OUT                   |
---------------------------|
2023-08-01 12:13:00.000000 |

select date_out(to_date('12:13:14', 'HH24:MI:SS.FF'));
DATE_OUT                   |
---------------------------|
2023-08-01 12:13:14.000000 |

select date_out(to_date('12:13:14.5678', 'HH24:MI:SS.FF'));
DATE_OUT                   |
---------------------------|
2023-08-01 12:13:14.567800 |

示例4: 使用 TO_DATE 转换(不指定格式表达式)

set DATEFORMAT='YYYY-MM-DD HH24:MI:SS.FF';


select date_out(to_date('2012-12-12'));
DATE_OUT(CSTRING)      |
-----------------------
2012-12-12 00:00:00.000|
000                    |
总数目:1

select date_out(to_date('2012-12-12 12:12:12'));
DATE_OUT(CSTRING)      |
-----------------------
2012-12-12 12:12:12.000|
000                    |
总数目:1

select date_out(to_date('2012-12-12 12:12:12.123456'));
DATE_OUT(CSTRING)      |
-----------------------
2012-12-12 12:12:12.123|
456                    |
总数目:1

set DATEFORMAT='YYYY-MM-DD';


select date_out(to_date('2012-12-12'));
DATE_OUT(CSTRING)      |
-----------------------
2012-12-12             |
总数目:1

select date_out(to_date('2012-12-12 12:12:12'));
DATE_OUT(CSTRING)      |
-----------------------
2012-12-12             |
总数目:1

select date_out(to_date('2012-12-12 12:12:12.123456'));
DATE_OUT(CSTRING)      |
-----------------------
2012-12-12             |
总数目:1