oracle实际环境中常用的时间日期格式应用

常用日期型数据类型:date与TIMESTAMP 二者在数据库中的存储固定为7个字节。

1.

获取系统时间 select sysdate from dual; --时间格式取决于系统设置


2.
将日期转字符:
select to_char(sysdate,'yy-mm-dd hh24:mi:ss') from dual; --显示:15-11-25 19:55:42
将字符转日期:
select to_date('2015-11-25 19:48:52','yyyy-mm-dd,hh24:mi:ss') from dual; --显示:2015/11/25 19:48:52
3.
求两个日期的间隔时间:返回的单位为天,小时及分秒会换算成小数
select date'2015-11-25'-date'2015-11-20' from dual;
--也可以借助数学函数

select floor(sysdate - to_date('20151120','yyyymmdd')) from dual;

4.oracle trunc截断日期函数

select sysdate,trunc(sysdate,'dd') from dual; 截取今天
select sysdate,trunc(sysdate,'d') from dual;  截取本周第一天
select sysdate,trunc(sysdate,'mm') from dual; 截取本月第一天

5.时间为null的用法举例      
   select id, active_date from table1      
   UNION 
   select 1, TO_DATE(null) from dual;
5.处理月份天数不定的办法
  select to_char(add_months(last_day(sysdate) +1, -2), 'yyyymmdd'),last_day(sysdate) from dual    
   
案例一
create table uu_test_1(
C1 DATE,
C2 TIMESTAMP); --能保存小数秒,默认为6位

insert into uu_test_1(c1,c2) values(date'2015-11-25',timestamp'2015-11-25 19:48:52');
insert into uu_test_1(c1,c2) values(to_date('2015-11-25 19:48:52','YYYY-MM-DD HH24:MI:SS'),
                                    to_timestamp('2015-11-25 19:48:52','YYYY-MM-DD HH24:MI:SS.FF6'));

select * from uu_test_1;


案例二 C开发语句

  char c_USER_NUM[30]={0};
  char ACTIVE_DATE[10]={0};
  char INACTIVE_DATE[10]={0};

EXEC SQL SELECT a.USER_NUM,to_char(a.ACTIVE_DATE,'yyyymmddhh24miss'),to_char(a.INACTIVE_DATE,'yyyymmddhh24miss') 
 into :c_USER_NUM,:ACTIVE_DATE,:INACTIVE_DATE
 FROM t_test a
 WHERE a.user_num = '123456';

链接参考:
http://blog.itpub.net/9827879/viewspace-1116421/
http://www.cnblogs.com/xiaobaihome/archive/2012/03/14/2395568.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值