zoukankan      html  css  js  c++  java
  • informix中的时间计算

    今天看SUN服务器是的mail(vi   /var/mail/xxxuser),发现定时任务上的一些存储过程执行有错误,其中有一个错误是long transaction,长事务错误,到数据库一查,天哪,一天就十几万条记录,我写的存储过程时间上只是精确到月,一个月的数据一次删除,还好数据库没罢工,之前定义到月是因为informix中日期字段不能直接减去天数做运算,这种态度不可取~~~,只好重写存储过程,时间精确到天,下面是具体的informix时间运算。ORACLE的时间字段可以直接减去(加上)天数运算(select  sysdate-365  from  dual;)。
     
    下面的语句中extend用来限制到年、月、日,interval是说明间隔数
     
    减去(加上)天数,interval最多取两位

    从time_stamp字段减去两天时间
    select extend(time_stamp-interval(2) day to day) from users;

    从当前时间减去两天
    select extend(current-interval(2) day to day) from users;
     
     
    减去(加上)月数,interval最多取两位

    从time_stamp字段减去两个月
    select extend(time_stamp-interval(2) month to month) from users;
    从当前时间减去两个月
    select extend(current-interval(2) month to month) from users;
     
    减去(加上)年数,interval最多取四位
    从time_stamp字段减去两个年
    select extend(time_stamp-interval(2) year to year) from users;
    从当前时间减去两年
    select extend(current-interval(2) year to year) from users;
     
    试了一下,上面的写法会显示到毫秒,如
    2004-09-11 17:24:03.000 
    2004-09-11 17:24:03.000 
    2004-09-11 17:24:03.000
     
    可以再加个extend限制,如下
    显示到月
    select extend(((extend(current-interval(2) day to day))),year to month) from users;
    显示到天
    select extend(((extend(current-interval(2) month to month))),year to day) from users;
    显示到秒
    select extend(((extend(current-interval(2) year to year))),year to second) from users;
     
     
     
    上面讲的是其中一种方法,今天又学到一种,可以用units关键字。
     
     
    --年
    select current-5 units year from users
     
    --月
    select current-5 units month from users
     
    --日
    select current-5 units day from users
     
    --时
    select current-5 units hour from users
     
    --分
    select current-5 units minute from users
     
    --秒
    select current-5 units second from users
     
     
     
    转载请注明详细出处,谢谢合作^_^
  • 相关阅读:
    理解SQL SERVER中非聚集索引的覆盖,连接,交叉和过滤
    TSQL查询进阶流程控制语句
    效率最高的Excel数据导入(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】)
    SQL Service自定义数据类型
    理解SQL SERVER中的逻辑读,预读和物理读
    TSQL查询进阶深入理解子查询
    SQL查询入门(下篇)
    使用SQL进行递归查询
    利用 sys.sysprocesses 检查 Sql Server的阻塞和死锁
    灵活运用 SQL SERVER FOR XML PATH
  • 原文地址:https://www.cnblogs.com/vigarbuaa/p/3412632.html
Copyright © 2011-2022 走看看