【ORACLE】oracle时间对象的处理

1.1  oracle date对象的使用

(1)    
创建date字段

例如,

create table foo_7(d1 date);

(2)    
使用to_date函数插入date对象。to_date(‘字符串’,’字符串格式’)

例如,

insert into foo_7 values(to_date(‘2015年11月20日13时20分10秒‘,‘yyyy"年"mm"月"dd"日"hh24"时"mi"分"ss"秒"‘));

或者:‘yyyy-mm-dd hh24:mi:ss’

(3)    
使用to_char函数输出date对象。To_char(date对象,‘字符串格式’)

例如,

insert into foo_7 values(to_date(‘2015年11月20日13时20分10秒‘,‘yyyy"年"mm"月"dd"日"hh24"时"mi"分"ss"秒"‘));

(4)    
Last_day()函数为了计算所在月份的最后一天,大月小月

例如,

select to_char(last_day(sysdate),‘yyyy-mm-dd‘) from dual;

(5)    
使用months_between计算两个时间间隔几个月

例如,

select months_between(sysdate,to_date(‘1989-05-05‘,‘yyyy-mm-dd‘))/12 years from dual;

(6)使用extract()函数获取时间对象的年月日,格式为extract(year[mounth][day] from 时间对象),例如

select extract(year from sysdate) from dual;

(7)使用trunc函数吧时分秒改为00:00:00

例如,

select to_char(trunc(sysdate),‘yyyy-mm-dd hh24:mi:ss‘) from dual;

(8)    
使用round函数对时进行取舍(过了12时,则进1);

例如,

select to_char(round(sysdate),‘yyyy-mm-dd hh24:mi:ss‘) from dual;

(9)    
least(date1,date2)返回比较古老久远的时间对象

1.2 oracle timestamp()
时间戳对象,更加精确。

(1)    
创建timestamp字段

例如,

create table foo_8(time timestamp);

(2)    
利用系统常量systimestamp对象插入一条记录,

例如,

insert into foo_8 values(systimestamp);

(3)    
利用to_char对象显示Timestramp字段的时间

显示到秒

select to_char(time,‘yyyy-dd-mm hh24:mi:ss‘) "time" from foo_8;

2015-25-01 13:15:31

显示到任意精度的秒

SQL> select to_char(time,‘yyyy-dd-mm hh24:mi:sssssssss‘) "time" from foo_8;

显示到毫秒,微秒等

select to_char(time,‘yyyy-dd-mm hh24:mi:ss.ss‘) "time" from foo_8;

时间: 2024-11-02 00:53:52

【ORACLE】oracle时间对象的处理的相关文章

ORACLE日期时间函数大全

ORACLE日期时间函数大全    TO_DATE格式(以时间:2007-11-02   13:45:25为例) Year:              yy two digits 两位年                显示值:07        yyy three digits 三位年                显示值:007        yyyy four digits 四位年                显示值:2007 Month:              mm    numbe

Oracle笔记之对象权限与系统权限总结

对象权限与系统权限 创建表和创建session是系统权限: 系统管理员是有权限去訪问其它表的 以sys登录 sqlplus sys/on_change_install as sysdba; 创建用户wangwu create user wangwu identified by wangwu; 系统权限 grant create session to wangwu; grant create table to wangwu; grant unlimited tablespace to wangwu

使用oracle压缩blob对象

 1.使用oracle压缩blob对象 l_blob := utl_compress.lz_compress(l_blob); 2.将blob转换成clob FUNCTION blob_to_clob(blob_in IN BLOB) RETURN CLOB AS v_clob    CLOB; v_varchar VARCHAR2(32767 ); v_start   PLS_INTEGER := 1 ; v_buffer  PLS_INTEGER := 32767 ; tmp_num  

ORACLE日期时间函数

ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02   13:45:25为例)           Year:              yy two digits 两位年                显示值:07        yyy three digits 三位年                显示值:007        yyyy four digits 四位年                显示值:2007                    Month

Oracle插入时间

现象:Oracle 插入时间时 ,报错:ORA-01861: 文字与格式字符串不匹配 解决方法: 这个错误一般出现在时间字段上,即你插入的时间格式和数据库现有的时间格式不一致,解决的方法是格式化你 插入的时间: to_date('#','yyyy-mm-dd hh24:mi:ss') 这样的插入的时候就不会报这个ORA-01861 当用pl/sql developer的text importer的时候,就会经常遇到这个错误,由于pl/sql developer的bug,有时不 能把所有的date

oracle 日期时间函数

ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02   13:45:25为例)           Year:              yy two digits 两位年                显示值:07        yyy three digits 三位年                显示值:007        yyyy four digits 四位年                显示值:2007                    Month

Oracle 显示时间问题

在部署的时候. 显示的时间为会 2014/1/1 9:00:00 pm   但开发过程中显示为正常: 2014-1-1 21:00:00   解决方法: 1. Oracle数据库的时间格式没有问题, 客户端的时间格式也没问题 2. 可以修改服务器的时间格式.      控制面板->区域和语言             在设置好格式选项卡的格式后,  再点一下管理选项卡, 将格式复制到其他的帐号 Oracle 显示时间问题

oracle日期时间函数总结

经常写 sql 的同学应该会接触到一些 oracle 的日期时间函数, 例如: 财务软件或者人力资源软件需要按照每年, 每季度, 每月, 甚至每个星期来进行统计. 今天闲来没事, 特意从网上整理了一些资料, 以备日后查阅. 一.常用日期数据格式 1. 获取年的最后一位, 两位, 三位, 四位 select to_char(sysdate,'Y') from dual;    -- 获取年的最后一位 select to_char(sysdate,'YY') from dual;    -- 获取年

【转】ORACLE日期时间 等函数大全

转自:ORACLE日期时间函数大全 ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02   13:45:25为例)           Year:              yy two digits 两位年                显示值:07        yyy three digits 三位年                显示值:007        yyyy four digits 四位年                显示值:2007