时间计算:
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提供了丰富的日期函数和运算符来支持这类操作。本篇...
"SYBASE iq与ORACLE使用分析函数计算同期值及常用计算函数使用" 本资源摘要信息主要介绍了SYBASE iq和ORACLE中使用分析函数计算同期值和常用计算函数的使用方法。文章涵盖了同期值的计算、累计及同期累计值的计算、...
本文将详细介绍两种常用的周数计算方法:“ww”格式和“IW”格式,并提供具体的实现步骤与示例。 #### 一、WW格式的周数计算 在“WW”格式中,每年的1月1日被视为第一周的开始,而该周的最后一天则是1月1日后的第...
以下是一些关于Oracle常见问题的详细解答: 1. Oracle安装完成后,系统中预设了一些默认的用户名和密码,例如: - internal/oracle - sys/change_on_install - system/manager - scott/tiger - sysman/oem_...
Oracle常用函数实战总结.xlsx: 1.内容:总结了Oracle数据库中常用的函数及其实战应用。这些函数可能包括字符串处理函数、数值计算函数、日期和时间函数、转换函数等。 2.用途:对于Oracle数据库的使用者来说,这...
ORACLE 常用分析函数说明 Oracle 分析函数从 8.1.6 版本开始提供,是一种计算基于组的聚合值的函数。它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。 开窗函数是分析函数工作的...
### Oracle常见问题解析 #### 一、Oracle安装后的初始口令 - **Internal**: `internal` - **OracleSys**: `sys/change_on_install` - **System**: `system/manager` - **Scott**: `scott/tiger` - **Sysman**: `...
本篇文章将详细解析Oracle的一些常用函数,并通过实例演示它们的功能。 首先,Oracle的数值函数包括三角函数、幂和方根运算以及数值处理函数。例如,`SIN`, `COS`, `TAN`用于三角计算,`POWER`用于求幂,`SQRT`用于...
"Oracle常用语句-总结文档汇总"提供了丰富的资源,涵盖了SQL语句的基础到进阶应用,包括列行转换、SQL性能优化等多个关键知识点。 首先,列行转换是数据处理中常见的需求,Oracle提供了多种方法来实现这一操作。...
以下是一些Oracle数据库管理的基础知识和常用命令: 1. 登录与退出: - `sqlplus username/password@database`:使用SQL*Plus登录Oracle数据库,其中username是用户名,password是密码,database是数据库连接字符...
本压缩包“oracle常用经典sql查询.rar”显然是一份关于如何在Oracle环境中高效运用SQL查询的教程资料,适合数据库管理员、开发人员以及对Oracle数据库感兴趣的用户学习。 首先,我们来探讨SQL的基础概念。SQL,全称...
### Oracle常用函数与使用方法详解 #### 一、Oracle SQL函数概述 在Oracle数据库中,SQL函数被广泛用于处理各种数据类型,包括数值、字符、日期等,它们能够帮助我们更高效地进行数据检索和分析。本文将详细介绍...
### Oracle常用口令及相关知识点详解 #### 一、Oracle安装完成后的初始口令 - **internal/oracle**:这是Oracle数据库内部使用的账户。 - **sys/change_on_install**:`SYS`是Oracle数据库中最强大的管理员账号,...
以下是一些关于Oracle常用SQL技巧的经典要点: 1. **避免在SELECT子句中使用“*”**:在SQL查询中,使用通配符“*”代表选择所有列,虽然方便但效率低下。Oracle在解析时需要查询数据字典获取所有列名,增加了额外...
本资料集主要涵盖了Oracle中的常用SQL语句以及在实际应用中可能遇到的常见问题及其解决策略。 1. **SQL基本操作**: - **SELECT语句**:用于从表中选择数据。例如,`SELECT * FROM table_name;` 将获取表中的所有...
BINARY_INTEGER是Oracle中用于整数计算优化的类型,而DEC、DOUBLE PRECISION、INTEGER、INT、NUMERIC和REAL都是NUMBER类型的子类型,其中DOUBLE PRECISION提供了更高的精度,而REAL和NUMERIC等同于NUMBER。...
在Oracle数据库中,实现阶梯式累加是一种常见的需求,尤其在处理财务数据、员工薪资统计等场景时尤为突出。本文将详细介绍如何利用Oracle数据库特有的功能来实现阶梯式累加,并通过一个具体的示例来演示整个过程。 ...
Oracle常见函数整理 Oracle提供了多种函数来处理日期、数字和字符类型的数据,以下是常见的Oracle函数整理: 日期函数: 1. 日期转字符型:to_char()函数将日期类型转换为字符类型,例如to_char(sysdate,'YYYY-MM...
ORACLE内置函数,相当于C语言中的库函数,提供了常规数据库编程中所需的绝大多数基本功能,并且通过函数的组合或嵌套使用,可以发挥其强大的功能。由于这些内置函数都是由ORACLE公司的编程大家所写,而且其执行代码...