问下大家oracle中to_timestamp和to_date什么区别啊?

如题所述

第1个回答  2022-11-16

一、区别:

1)由于oracle中date类型只支持到秒,不支持到毫秒,所以to_date()不能取到毫秒。

2)如果要取到毫秒,oracle 9i以上版本,可以使用timestamp类型,

timestamp是date的扩展类型,能支持到毫秒,毫秒的显示精度是6位,不过有效位是3位,即最大值达到999,满1000ms就进为1s。

操作演示示例如下:

1、创建测试表,create table test_date(v_date varchar2(100));

2、插入测试数据,

insert into test_date values('20190101 12:00:05');

insert into test_date values('20191205 00:05:22');

insert into test_date values('20191110 11:11:51');

3、执行to_date语句sql,

select v_date, to_date(v_date,'yyyymmdd hh24:mi:ss') v_date2 from TEST_DATE t

4、执行to_timestamp语句sql,

select v_date, to_timestamp(v_date,'yyyymmdd hh24:mi:ss') v_date2 from TEST_DATE t;

相似回答