`
逝去的梦
  • 浏览: 15538 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Oracle 常用计算

    博客分类:
  • sql
阅读更多
时间计算:
oracle 两个时间相减默认的是天数
oracle 两个时间相减默认的是天数*24 为相差的小时数
oracle 两个时间相减默认的是天数*24*60 为相差的分钟数
oracle 两个时间相减默认的是天数*24*60*60 为相差的秒数
--MONTHS_BETWEEN(date2,date1)
给出date2-date1的月份
SQL> select months_between('19-12月-1999','19-3月-1999') mon_between from dual;

MON_BETWEEN
-----------
  9
SQL>select months_between(to_date('2000.05.20','yyyy.mm.dd'),to_date('2005.05.20','yyyy.dd')) mon_betw from dual;

MON_BETW
---------
-60

Oracle计算时间差表达式

--获取两时间的相差豪秒数
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60 * 1000) 相差豪秒数 FROM DUAL;
/*
相差豪秒数
----------
  86401000
1 row selected
*/

--获取两时间的相差秒数
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60) 相差秒数 FROM DUAL;
/*
相差秒数
----------
     86401
1 row selected
*/

--获取两时间的相差分钟数
select ceil(((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss'))) * 24 * 60)  相差分钟数 FROM DUAL;
/*
相差分钟数
----------
      1441
1 row selected
*/

--获取两时间的相差小时数
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24)  相差小时数 FROM DUAL;
/*
相差小时数
----------
        25
1 row selected
*/

--获取两时间的相差天数
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')))  相差天数 FROM DUAL;
/*
相差天数
----------
         2
1 row selected
*/

----------------------------------------
注:天数可以2个日期直接减,这样更加方便
----------------------------------------

--获取两时间月份差
select (EXTRACT(year FROM to_date('2009-05-01','yyyy-mm-dd')) - EXTRACT(year FROM to_date('2008-04-30','yyyy-mm-dd'))) * 12 +
       EXTRACT(month FROM to_date('2008-05-01','yyyy-mm-dd')) - EXTRACT(month FROM to_date('2008-04-30','yyyy-mm-dd')) months
from dual;
/*
MONTHS
----------
        13
1 row selected
*/

--------------------------------------
注:可以使用months_between函数,更加方便
--------------------------------------

--获取两时间年份差
select EXTRACT(year FROM to_date('2009-05-01','yyyy-mm-dd')) - EXTRACT(year FROM to_date('2008-04-30','yyyy-mm-dd')) years from dual;
/*
YEARS
----------
         1




select sysdate,add_months(sysdate,12) from dual;  --加1年
select sysdate,add_months(sysdate,1) from dual;   --加1月
select sysdate,TO_CHAR(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual;  --加1星期
select sysdate,TO_CHAR(sysdate+1,'yyyy-mm-dd HH24:MI:SS') from dual;  --加1天
select sysdate,TO_CHAR(sysdate+1/24,'yyyy-mm-dd HH24:MI:SS') from dual;  --加1小时
select sysdate,TO_CHAR(sysdate+1/24/60,'yyyy-mm-dd HH23:MI:SS') from dual;  --加1分钟
select sysdate,TO_CHAR(sysdate+1/24/60/60,'yyyy-mm-dd HH23:MI:SS') from dual;  --加1秒
select   sysdate+7   from   dual;                     --加7天


Oracle 保留小数点后两位

select trunc(CUR_SUM,2) from data_record;
将小数转化成百分比=> round(zcbj/zs*100)||'%' == trunc((zcbj/zs),2)*100||'%'
分享到:
评论

相关推荐

    Oracle计算连续天数,计算连续时间,Oracle连续天数统计

    在Oracle数据库中,计算连续天数或连续时间是一项常见的需求,尤其在数据分析、报表生成或者业务规则检查等场景。这个任务通常涉及到日期处理和逻辑判断,Oracle提供了丰富的日期函数和运算符来支持这类操作。本篇...

    SYBASE iq与ORACLE使用分析函数计算同期值及常用计算函数使用

    "SYBASE iq与ORACLE使用分析函数计算同期值及常用计算函数使用" 本资源摘要信息主要介绍了SYBASE iq和ORACLE中使用分析函数计算同期值和常用计算函数的使用方法。文章涵盖了同期值的计算、累计及同期累计值的计算、...

    Oracle数据库的周数计算

    本文将详细介绍两种常用的周数计算方法:“ww”格式和“IW”格式,并提供具体的实现步骤与示例。 #### 一、WW格式的周数计算 在“WW”格式中,每年的1月1日被视为第一周的开始,而该周的最后一天则是1月1日后的第...

    ORACLE常见问题集锦

    以下是一些关于Oracle常见问题的详细解答: 1. Oracle安装完成后,系统中预设了一些默认的用户名和密码,例如: - internal/oracle - sys/change_on_install - system/manager - scott/tiger - sysman/oem_...

    Oracle常用函数实战总结.xlsx、Oracle 11g数据库管理员指南.pdf、Oracle开发实战经典.pdf

    Oracle常用函数实战总结.xlsx: 1.内容:总结了Oracle数据库中常用的函数及其实战应用。这些函数可能包括字符串处理函数、数值计算函数、日期和时间函数、转换函数等。 2.用途:对于Oracle数据库的使用者来说,这...

    ORACLE常用分析函数说明

    ORACLE 常用分析函数说明 Oracle 分析函数从 8.1.6 版本开始提供,是一种计算基于组的聚合值的函数。它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。 开窗函数是分析函数工作的...

    oracle常见问题1000个

    ### Oracle常见问题解析 #### 一、Oracle安装后的初始口令 - **Internal**: `internal` - **OracleSys**: `sys/change_on_install` - **System**: `system/manager` - **Scott**: `scott/tiger` - **Sysman**: `...

    oracle常用函数功能演示

    本篇文章将详细解析Oracle的一些常用函数,并通过实例演示它们的功能。 首先,Oracle的数值函数包括三角函数、幂和方根运算以及数值处理函数。例如,`SIN`, `COS`, `TAN`用于三角计算,`POWER`用于求幂,`SQRT`用于...

    Oracle常用语句-总结文档汇总

    "Oracle常用语句-总结文档汇总"提供了丰富的资源,涵盖了SQL语句的基础到进阶应用,包括列行转换、SQL性能优化等多个关键知识点。 首先,列行转换是数据处理中常见的需求,Oracle提供了多种方法来实现这一操作。...

    Oracle常见命令操作

    以下是一些Oracle数据库管理的基础知识和常用命令: 1. 登录与退出: - `sqlplus username/password@database`:使用SQL*Plus登录Oracle数据库,其中username是用户名,password是密码,database是数据库连接字符...

    oracle常用经典sql查询.rar

    本压缩包“oracle常用经典sql查询.rar”显然是一份关于如何在Oracle环境中高效运用SQL查询的教程资料,适合数据库管理员、开发人员以及对Oracle数据库感兴趣的用户学习。 首先,我们来探讨SQL的基础概念。SQL,全称...

    Oracle常用函数和使用方法

    ### Oracle常用函数与使用方法详解 #### 一、Oracle SQL函数概述 在Oracle数据库中,SQL函数被广泛用于处理各种数据类型,包括数值、字符、日期等,它们能够帮助我们更高效地进行数据检索和分析。本文将详细介绍...

    oracle常用口令

    ### Oracle常用口令及相关知识点详解 #### 一、Oracle安装完成后的初始口令 - **internal/oracle**:这是Oracle数据库内部使用的账户。 - **sys/change_on_install**:`SYS`是Oracle数据库中最强大的管理员账号,...

    Oracle 常用SQL技巧经典收藏

    以下是一些关于Oracle常用SQL技巧的经典要点: 1. **避免在SELECT子句中使用“*”**:在SQL查询中,使用通配符“*”代表选择所有列,虽然方便但效率低下。Oracle在解析时需要查询数据字典获取所有列名,增加了额外...

    oracle 常用sql语句和常见问题

    本资料集主要涵盖了Oracle中的常用SQL语句以及在实际应用中可能遇到的常见问题及其解决策略。 1. **SQL基本操作**: - **SELECT语句**:用于从表中选择数据。例如,`SELECT * FROM table_name;` 将获取表中的所有...

    oracle常用函数和类型

    BINARY_INTEGER是Oracle中用于整数计算优化的类型,而DEC、DOUBLE PRECISION、INTEGER、INT、NUMERIC和REAL都是NUMBER类型的子类型,其中DOUBLE PRECISION提供了更高的精度,而REAL和NUMERIC等同于NUMBER。...

    oracle实现阶梯式累加

    在Oracle数据库中,实现阶梯式累加是一种常见的需求,尤其在处理财务数据、员工薪资统计等场景时尤为突出。本文将详细介绍如何利用Oracle数据库特有的功能来实现阶梯式累加,并通过一个具体的示例来演示整个过程。 ...

    oracle常见函数整理

    Oracle常见函数整理 Oracle提供了多种函数来处理日期、数字和字符类型的数据,以下是常见的Oracle函数整理: 日期函数: 1. 日期转字符型:to_char()函数将日期类型转换为字符类型,例如to_char(sysdate,'YYYY-MM...

    ORACLE常用函数功能及演示

    ORACLE内置函数,相当于C语言中的库函数,提供了常规数据库编程中所需的绝大多数基本功能,并且通过函数的组合或嵌套使用,可以发挥其强大的功能。由于这些内置函数都是由ORACLE公司的编程大家所写,而且其执行代码...

Global site tag (gtag.js) - Google Analytics