zoukankan      html  css  js  c++  java
  • Oracle date timestamp 毫秒

    yyyy-mm-dd hh24:mi:ss.ff  年-月-日 时:分:秒.毫秒

     

    关于毫秒:

                Oracle 毫秒的存储必须字段类型为 timestamp(6) –数字表示存储的毫秒位数

    --当前毫秒级时间

    select to_char(current_timestamp,'yyyy-mm-dd hh24:mi:ss.ff6') from dual;

    --字符串转为 timestamp类型

    select to_timestamp('2012-02-03 10:29:46.453234','yyyy-mm-dd hh24:mi:ss.ff6') from dual;

    --timestamp转为字符型

    select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss.ff6') from dual;

    PS: ff后面的数字表示获得的毫秒位数,默认是6;一般ff3 获得三位毫秒数。 

     

    如果你想把DATE类型转换成TIMESTAMP类型,就使用CAST函数。

    select cast(sysdate as timestamp) from dual;

    但是值得注意的是:在转换后的时间段尾部有了一段“.000000”。这是因为从date转换过来的时候,没有小数秒的信息,缺省为0。而且显示格式是按照参数NLS_TIMESTAMP_FORMAT定的缺省格式显示。当你把一个表中date类型字段的数据移到另一个表的timestamp类型字段中去的时候,可以直接写INSERT SELECT语句,oracle会自动为你做转换的。

     

    注意: to_char函数支持date和timestamp,但是trunc却不支持TIMESTAMP数据类型。这已经清楚表明了在当两个时间的差别极度重要的情况下,使用TIMESTAMP数据类型要比DATE数据类型更确切。

     

    还值得一提的是:毫秒的显示精度是6位,不过有效位是3位,即最大值达到999,满1000ms就进为1s。当然你想保存6位毫秒也是有办法的:

    insert 值指定六位:to_timestamp('2012-02-03 10:29:46.453234','yyyy-mm-dd hh24:mi:ss.ff6')

  • 相关阅读:
    C++解析(5):内联函数分析
    C++解析(4):引用的本质
    C++解析(3):布尔类型与三目运算符
    C++解析(2):进化后的 const 分析
    C++解析(1):C到C++的升级
    net与树莓派的情缘(二)
    net与树莓派的情缘(一)
    Ngin 简单配置文件
    sql geography类型(地理坐标) 赋值
    MongoDB与c#(二)简单例子 使用1.7版本驱动
  • 原文地址:https://www.cnblogs.com/liuys635/p/14254303.html
Copyright © 2011-2022 走看看