Oracle TIMESTAMP 的使用

本文介绍Oracle数据库中TIMESTAMP类型的使用方法,包括存储格式、精确度及如何通过预编译语句插入数据。同时对比了sysdate、systimestamp和current_timestamp的区别,并提供了一些实用的SQL语句示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oracle TIMESTAMP 的使用

 

TIMESTAMP( fractional_seconds_precision) :
使用7-11字节保存日期时间数据,根据指定精度(0-9)来决定, 缺省为6,可精确到纳秒。
//1秒 = 1,000微秒 = 1,000,000毫秒 = 1,000,000,000纳秒
//JAVA:PreparedStatement.setTimestamp(1, new java.sql.Timestamp(毫秒数));
 
//格式化输出毫秒,后面的‘3’指定输出精确度
SELECT to_char(systimestamp,'YYYY-MM-DD HH24:MI:SS.FF3') FROM DUAL;
本人使用Timestamp.valueOf("2009-11-15 10:25:00.000000001");
SQL使用预编译语句prepareStatement
插入到oracle 9i中的毫秒长度只有6位
 
如果要查询处于当天的时间或处于某个时间段的时间(大于等于 and  小于等于):
 
("2009-11-15 00:00:00.000000001")
("2009-11-15 23:59:59.000000001")
 
sysdate返回的是系统的时间。
systimestamp也是当前系统的时间戳。
CURRENT_TIMESTAMP 与时区设置有关,返回的秒是系统的,返回的日期和时间是根据时区转换过的。
current_date是对CURRENT_TIMESTAMP准确到秒的四舍五入。

在jave预编译语句中最好使用systimestamp
INSERT INTO table(id,create_date) values(?,systimestamp);

select to_char(current_timestamp,' yyyy-MM-dd HH24:MI:SS.FF ')  from dual
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值