oracle trunc()函数的用法.
1.TRUNC函数为指定元素而截去的日期值。
其具体的语法格式如下:TRUNC(date[,fmt])
其中:
date 一个日期值
fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去
下面是该函数的使用情况:
select trunc(sysdate,'mm')from dual --2007-1-1:当月第一天
select trunc(sysdate,'yy')from dual --2007-1-1:当年第一天
select trunc(sysdate,'dd')from dual --2007-1-14:当天
select trunc(sysdate,'day')from dual --2007-1-15:当周第一天
select trunc(sysdate)from dual --2007-1-15:当天
说明:trunc(sysdate)输出的格式为YYYY-MM-DD,但它是把时间四舍五入到了当日的零点,
即:to_char(trunc(sysdate),'YYYY-MM-DD HH24:mi:ss pm|am') = YYYY-MM-DD 00:00:00 上午
比较下面三个的不同:
select last_day(sysdate)+2 from dual; --2007-2-2 19:07:52
select (last_day(sysdate)+2)+10/24 from dual; --2007-2-3 5:07:18
select trunc(last_day(sysdate)+2)+10/24 from dual; --2007-2-2 10:00:00
TRUNC(TO_DATE(’24-Nov-1999 08:00 pm’,’dd-mon-yyyy hh:mi am’))=’24-Nov-1999 12:00:00 am’
TRUNC(TO_DATE(’24-Nov-1999 08:37 pm’,’dd-mon-yyyy hh:mi am’,’hh’)) =’24-Nov-1999 08:00:00 am’
2.TRUNC(for number)
TRUNC函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。
其具体的语法格式如下TRUNC(number[,decimals])
其中:
number 待做截取处理的数值
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分
下面是该函数的使用情况:
TRUNC(89.985,2)=89.98
TRUNC(89.985)=89
TRUNC(89.985,-1)=80
注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。
select nvl(alloffinum,offinum) 网元名称,
sum(decode(checkflag,'A',1,0)) 未制作, sum(decode(checkflag,'B',1,0)) 制作中,
sum(decode(checkflag,'C',1,0)) 成功, sum(decode(checkflag,'E',1,0)) 人工成功,
sum(decode(checkflag,'G',1,0)) 成功回笼,sum(decode(checkflag,'I',1,0)) 人工回笼,
sum(decode(checkflag,'F',1,0)) 退单回笼,sum(decode(checkflag,'H',1,0)) 失败,
sum(decode(checkflag,'D',1,0)) 退单, sum(decode(checkflag,'K',1,0)) 保护,
sum(decode(checkflag,'J',1,0)) 禁止 from sheet_control
where areano='0378' and stationno like '%'
and intime >=trunc(sysdate)
group by nvl(alloffinum,offinum)
round函数
round函数用于求出并返回最接近给定参数value值的整数值。如果两个整数都和value值等距离,那么round函数将返回较大的那个整数值。
如果value是一个整数,则返回的就是value本身。round函数的语法格式为:
float.round(value)
如果参数value的值不是有效的数,那么round函数就会返回无效值invalid。
使用round函数的例子如下:
var a = float.round(3.5); // 计算结果为a = 4;4和3与3.5等距离,取较大的数4。
var b = float.round(-3.5); // 计算结果为b = -3
var c = float.round(0.5); // 计算结果为c = 1;1和0与0.5等距离,取较大的数1。
var d = float.round(-0.5); // 计算结果为d = 0
在oracle中,用法:mod(number1,number2)
描述
两个数值相除并返回其余数。
语法
result = number1 Mod number2
Mod 运算符的语法有以下部分:
部分 描述
result 任意数值变量。
number1 任意数值表达式。
number2 任意数值表达式。
说明
模数或余数。运算符执行 number1 除以 number2 操作(浮点数四舍五入为整数)并只返回余数作为 result。例如,在下面的表达式中, A(为 result)等于 5。
A = 19 Mod 6.7
如果任一表达式为 Null,则 result 也为 Null。任一表达式为 Empty 时按 0 来处理。
--------------------------------------------------------------------------------
0.5 mod 8 =0
1.5 mod 8 =2
0.6 mod 8=1
1.6 mod 8=2
4.5 mod 8=4
6.5 mod 8=6
6.6 mod 8=7
7.4 mod 8=7
7.5 mod 8=0
8.4 mod 8=0
8.5 mod 8=0
8.6 mod 8=1
被除数四舍五入之后再取模
Round 函数都是采用 Banker's rounding(银行家舍入)算法,即四舍六入五取偶
四舍六入五取偶
round(3.5) mod round(8) 等于 4 mod 8
round(4.5) mod round(8) 等于 4 mod 8
round(5.5) mod round(8) 等于 6 mod 8
分享到:
相关推荐
通过对Oracle中`TRUNC()`、`ROUND()` 和 `CEIL()` 这三个函数的学习,我们可以灵活地根据实际需求对数值进行去尾、四舍五入和收尾操作。这三种方法在不同的应用场景下都有着广泛的应用,了解它们的工作原理和使用...
下面是一些常用的Oracle数学函数及其用法: - **ABS(x)**:返回数值`x`的绝对值。 - **ACOS(x)**:返回数值`x`的反余弦值(范围为0到π),其中`x`的取值范围是[-1,1]。 - **ASIN(x)**:返回数值`x`的反正弦值...
Oracle数学函数用于执行基本的算术运算,如加、减、乘、除。例如,`ABS()`函数返回一个数的绝对值,`ROUND()`用于四舍五入,`MOD()`则是求余数。还有幂运算`POWER(x,y)`和开方`SQRT()`等,它们在处理数值计算时非常...
1. 数学函数:如ABS()用于返回绝对值,MOD()用于计算余数,ROUND()用于四舍五入等。 2. 字符串函数:如UPPER()、LOWER()用于大小写转换,INSTR()用于查找子字符串位置,SUBSTR()用于截取子字符串。 3. 日期时间函数...
首先,Oracle提供了丰富的数学函数,如ROUND()用于四舍五入,TRUNC()用于截断小数部分,MOD()计算两个数相除的余数,以及EXP()计算数值的指数。这些函数在处理数值计算时非常实用,能够确保数据的精确性和合理性。 ...
Oracle数据库中的函数可以分为多种类型,包括内置函数、数学函数、字符串函数、日期时间函数、转换函数、系统信息函数等。例如: 1. **内置函数**:如`SYSDATE`用于获取当前系统日期,`USER`获取当前登录用户的...
1. 数学函数:如ABS(取绝对值)、MOD(取模)、ROUND(四舍五入)等,用于数值计算。 2. 字符串函数:如SUBSTR(子字符串提取)、INSTR(查找子串位置)、UPPER/LOWER(大小写转换)等,帮助处理文本数据。 3. ...
Oracle提供了多种数学函数,如`ABS()`, `SQRT()`, `MOD()`, `ROUND()`, `TRUNC()`, `CEIL()`, `FLOOR()`等。`ABS()`返回一个数的绝对值,`SQRT()`计算平方根,`MOD()`返回两数相除的余数,`ROUND()`、`TRUNC()`和`...
1. **数学函数**: - `ABS(x)`:返回x的绝对值。 - `ROUND(x[,d])`:四舍五入到指定的小数位数d。 - `TRUNC(x[,d])`:截断到指定的小数位数d,不进行四舍五入。 - `MOD(x,y)`:返回x除以y的余数。 2. **字符串...
1. 数学函数: - `ABS()`:返回一个数的绝对值。 - `MOD()`:返回两个数相除后的余数。 - `SQRT()`:计算平方根。 - `ROUND()`:四舍五入到指定的小数位数。 - `CEIL()` 和 `FLOOR()`:分别返回大于或等于、...
Oracle数据库拥有大量的内置函数,如日期处理、字符串操作、数学计算等,这些在PostgreSQL中可能有不同的实现方式。为了使PostgreSQL更加Oracle友好,社区开发了一些扩展,例如"orafce"(Oracle Functions for ...
Oracle数学函数用于执行基本和高级数学运算。例如: 1. `ABS(x)`: 返回x的绝对值。 2. `SQRT(x)`: 计算x的平方根。 3. `MOD(x, y)`: 返回x除以y的余数。 4. `ROUND(x, [d])`: 对x进行四舍五入,d表示小数位数。 二...
Oracle 函数大全(字符串函数,数学函数,日期函数,逻辑运算函数,其他函数)
1. **算术函数**:例如`+`、`-`、`*`、`/`用于基本的数学运算,还有`MOD`用于求余数,`POWER`用于求幂。 2. **字符串函数**:如`CONCAT`用于连接两个或更多字符串,`SUBSTR`用于提取字符串的一部分,`UPPER`和`...
四、Oracle数学函数 1. `round(number, decimals)`:四舍五入到指定的小数位数。 2. `ceil(number)`:向上取整。 3. `floor(number)`:向下取整。 4. `mod(number, divisor)`:求余数。 5. `power(base, exponent)`...
以上仅是Oracle数据库中80个常用函数的一部分,实际使用中还有许多其他功能强大的函数,如日期函数、数学函数、转换函数等,它们极大地丰富了数据处理的能力,提高了数据库操作的灵活性和效率。在实际工作中,理解并...
五、数学函数 1. `SQRT()`: 计算平方根。例如,`SQRT(16)` 返回 4。 2. `POW()`: 计算一个数的幂。例如,`POW(2, 3)` 返回 8。 3. `RAND()`: 生成0到1之间的随机数。可以结合其他函数生成特定范围内的随机数。 六、...
### Oracle常见函数整理 ...以上就是Oracle数据库中常见的字符串处理函数及部分数学函数的介绍和使用示例。通过这些函数,可以有效地对数据进行格式化、转换和提取等操作,提高查询和处理数据的效率。
除了字符串处理函数,Oracle还提供了一系列数学函数: - **ABS()** 函数用于获取数值的绝对值。 - **ACOS(), ASIN(), ATAN(), COS(), COSH(), EXP()** 等数学函数用于执行三角函数计算、指数计算等。 以上只是...
系统信息函数、类型转化函数、格式化函数、控制流函数、加密函数、日期和时间函数、字符串函数、聚合函数(常用于group by从句的select查询中)、数学函数