Oracle TIMESTAMP 的使用

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

你可能感兴趣的:(oracle,sql)