oracle 数据库中的 TIMESTAMP 类型
2014-01-30 12:26
411 查看
今天学习工作流的时候,发现工作流中居然定义了个TIMESTAMP 类型的字段,还不是很清楚这个的具体使用方法,现在转载一下别人的说明,自己也学习一下:
TIMESTAMP数据类型:
Oracle定义语法:
TIMESTAMP [(fractional_seconds_precision)]
fractional_seconds_precision 的范围为0到9, 默认为6. 与DATE类型相比该类型可以保存到微秒. 而且微秒的精确范围可以保存到0到9为数据. 在数据库中保存占7到11字节, 具体看你定义的fractional seconds的精度. 下面例子说明:
-- 建表包含timestamp类型.
SQL> create table tm(a timestamp);
Table created.
-- 注意这地方的FF中的'123456789', 这就是我刚说的微秒的精确范围, 上面定义的时候没有指定, 这就是使用默认的6了, 在下面"desc tm"处就可以看到的.
SQL> insert into tm values(TO_TIMESTAMP('2006-12-01 12:12:09.123456789', 'YYYY-MM-DD HH24:MI:SS.FF'));
1 row created.
-- 从这地方就可以看出来默认是6了. 要是你想使用更高的精确度就可以自己人为的指定了. create table tm(a timestamp(9)); 这样就可以的.
SQL> desc tm;
Name Null? Type
------- -------- ----------------------------
A TIMESTAMP(6)
--从这就可以看出来吧, 精确度为6时候,在插入数据时就使用了四舍五入了.
SQL> select * from tm;
A
---------------------------------------------------------------------------
01-DEC-06 12.12.09.123457 PM
-- 如果我想插入的数据超过了最大的9位时就会出错了的.
SQL> insert into tm values(TO_TIMESTAMP('2006-12-01 12:23:09.1234567890', 'YYYY-MM-DD HH24:MI:SS.FF'));
insert into tm values(TO_TIMESTAMP('2006-12-01 12:23:09.1234567890', 'YYYY-MM-DD HH24:MI:SS.FF'))
*
ERROR at line 1:
ORA-01830: date format picture ends before converting entire input string
-----------------------
查看当前的timestamp时间是CURRENT_TIMESTAMP
select current_timestamp from dual;
转自 http://blog.sina.com.cn/s/blog_4b68e80501000aal.html
TIMESTAMP数据类型:
Oracle定义语法:
TIMESTAMP [(fractional_seconds_precision)]
fractional_seconds_precision 的范围为0到9, 默认为6. 与DATE类型相比该类型可以保存到微秒. 而且微秒的精确范围可以保存到0到9为数据. 在数据库中保存占7到11字节, 具体看你定义的fractional seconds的精度. 下面例子说明:
-- 建表包含timestamp类型.
SQL> create table tm(a timestamp);
Table created.
-- 注意这地方的FF中的'123456789', 这就是我刚说的微秒的精确范围, 上面定义的时候没有指定, 这就是使用默认的6了, 在下面"desc tm"处就可以看到的.
SQL> insert into tm values(TO_TIMESTAMP('2006-12-01 12:12:09.123456789', 'YYYY-MM-DD HH24:MI:SS.FF'));
1 row created.
-- 从这地方就可以看出来默认是6了. 要是你想使用更高的精确度就可以自己人为的指定了. create table tm(a timestamp(9)); 这样就可以的.
SQL> desc tm;
Name Null? Type
------- -------- ----------------------------
A TIMESTAMP(6)
--从这就可以看出来吧, 精确度为6时候,在插入数据时就使用了四舍五入了.
SQL> select * from tm;
A
---------------------------------------------------------------------------
01-DEC-06 12.12.09.123457 PM
-- 如果我想插入的数据超过了最大的9位时就会出错了的.
SQL> insert into tm values(TO_TIMESTAMP('2006-12-01 12:23:09.1234567890', 'YYYY-MM-DD HH24:MI:SS.FF'));
insert into tm values(TO_TIMESTAMP('2006-12-01 12:23:09.1234567890', 'YYYY-MM-DD HH24:MI:SS.FF'))
*
ERROR at line 1:
ORA-01830: date format picture ends before converting entire input string
-----------------------
查看当前的timestamp时间是CURRENT_TIMESTAMP
select current_timestamp from dual;
转自 http://blog.sina.com.cn/s/blog_4b68e80501000aal.html
相关文章推荐
- oracle 将 timestamp 类型的数据库字段值通过mybatis插入到数据库中
- Oracle时间相关-(求timestamp类型的时间差)
- Oracle 日期类型 Date 和 Timestamp 详解
- C# 操作 XML 数据库类型、Oracle XMLType
- Oracle中Date和Timestamp数据类型的比较
- C#连接4种类型数据库(Access、SQL Server、Oracle、MySQL)
- 数据库中的Date,DateTime和TimeStamp类型
- 常见数据库Oracle,sqlserver,mysql字段类型与java.sql.Types的对应
- Oracle/MSSQL/Mysql 常用数据库的字段类型及大小
- Oracle中将毫秒数转换为timestamp类型的两种方法
- Oracle中两个TIMESTAMP时间类型的差
- oracle 数据库中讨论char ,varchar ,varchar2 数据类型!
- 【初识Oracle】③数据库对基本数据类型进行操作的函数
- Oracle TIMESTAMP WITH TIME ZONE类型
- oracle的timestamp类型使用 毫秒
- oracle.sql.TIMESTAMP类型转成固定格式的date类型
- 数据库中的Date,DateTime和TimeStamp类型
- oracle优化(一) oracle数据库使用 TIMESTAMP(6)类型保存年月日时分秒
- Oracle常用的数据库字段类型
- Oracle数据库之数据类型选择小结