oracle查询timestamp范围,Oracle 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;

阅读(6388) | 评论(0) | 转发(0) |

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值