trunc函数

Oracle trunc函数的使用

三世轮回 提交于 2019-12-06 02:53:20
1. 对日期的操作 2. 对数字的操作 1、对日期的操作 /**************日期********************/ SELECT TRUNC(SYSDATE) FROM DUAL; --2019/11/29 今天的日期为2019/11/29 SELECT TRUNC(SYSDATE, 'MM') FROM DUAL; --2019/11/01 返回当月第一天. SELECT TRUNC(SYSDATE,'YY') FROM DUAL; --2019/11/01 返回当年第一天 SELECT TRUNC(SYSDATE,'YYYY') FROM DUAL; --2019/01/01 返回当年第一天 SELECT TRUNC(SYSDATE,'DD') FROM DUAL; --2019/11/29 返回当前年月日 SELECT TRUNC(SYSDATE,'D') FROM DUAL; --2019/11/24 (星期天)返回当前星期的第一天 SELECT TRUNC(SYSDATE, 'HH24') FROM DUAL; --2019/11/29 17:00:00 当前时间为17:11 SELECT TRUNC(SYSDATE, 'MI') FROM DUAL; --2019/11/29 17:11:00 TRUNC()函数没有秒的精确 2、对数字的操作 /**

delphi的取整函数round、trunc、ceil和floor

半腔热情 提交于 2019-12-04 10:41:20
1.Round(四舍六入五留双) 功能说明:对一个实数进行四舍五入。(按照银行家算法) 例: var i, j: Integer; begin i := Round(1.5); // i等于2 j := Round(2.5); // j等于2 end; 在Delphi中使用Round函数得到的答案有时与我们所预期的会不太一样:采用的是四舍六入五留双。即当舍或入位大于或小于五时按四舍五入来处理 ,而当舍或入位等于五时,就要看前面一位是什么,根据奇进偶不进,它总是返回一个偶数值。 例: i:= Round(11.5)//i等于12 i:= Round(10.5)//i等于10 这种Round其实是按照银行家算法,统计学上一般都用这种算法,比传统的"四舍五入"要科学。 如果要使用传统的"四舍五入"方法,可以使用下面函数: function RoundClassic(R: Real) 2.trunc(取得X的整数部分) 如:trunc(-123.55)=-123, floor(123.55)=123 3.ceil(取得大于等于X的最小的整数) 如:ceil(-123.55)=-123, ceil(123.15)=124 4.floor(取得小于等于X的最大的整数) 如:floor(-123.55)=-124,floor(123.55)=123 注:floor和ceil是math

oracle之TRUNC函数

匿名 (未验证) 提交于 2019-12-02 23:57:01
MONTHS_BETWEEN的使用    MONTHS_BETWEEN函数返回两个日期之间的月份数。 oracle之TRUNC函数 TRUNC(number,num_digits) Num_digits 用于指定取整精度的数字,Num_digits 的默认值为 0。如果Num_digits为正数,则截取小数点后Num_digits位;如果为负数,则先保留整数部分,然后从个位开始向前数,并将遇到的数字都变为0。 TRUNC()函数在截取时不进行四舍五入,直接截取。 针对日期的案例,如: decode函数: decode(X,A,B,C,D,E) 这个函数运行的结果是,当X = A,函数返回B;当X != A 且 X = C,函数返回D;当X != A 且 X != C,函数返回E。 其中,X、A、B、C、D、E都可以是表达式,这个函数使得某些sql语句简单了许多 oracle函数详解: https://www.cnblogs.com/lxl57610/p/7442130.html 来源:博客园 作者: bai白 链接:https://www.cnblogs.com/bai123/p/11447308.html

Oracle - 获取当前周别函数

匿名 (未验证) 提交于 2019-12-02 23:55:01
1 CREATE OR REPLACE FUNCTION GET_WEEK ( V_RQ in DATE ) return varchar2 as 2 str varchar2 ( 20 ); 3 str1 varchar2 ( 20 ); 4 5 begin 6 str := TRIM ( TO_CHAR ( TRUNC (( V_RQ + TO_CHAR ( TRUNC ( V_RQ , 'YYYY' ), 'D' )- 1 - TRUNC ( V_RQ , 'YYYY' ))/ 7 )+ 1 , '00' )); 7 return str ; 8 end ; 来源:博客园 作者: JJ_JeremyWu 链接:https://www.cnblogs.com/jeremywucnblog/p/11421775.html

Oracle trunc()函数的用法

匿名 (未验证) 提交于 2019-12-02 23:49:02
Oracle trunc()函数的用法 日期 select trunc(sysdate) from dual --2019/7/21 今天的日期为2019/7/21 select trunc(sysdate, 'mm') from dual --2019/7/1 返回当月第一天. select trunc(sysdate,'yy') from dual --2019/1/1 返回当年第一天 select trunc(sysdate,'dd') from dual --2019/7/21 返回当前年月日(当天) select trunc(sysdate,'yyyy') from dual --2019/1/1返回当年第一天 select trunc(sysdate,'dd') from dual --2019/7/21 (星期天)返回当前星期的第一天 select trunc(sysdate, 'hh') from dual --2019/7/21 23:00:00 当前时间为23:02(整点) select trunc(sysdate, 'mi') from dual --2019/7/21 23:02:00 TRUNC()函数没有秒的精确 数字 TRUNC(number,num_digits) Number 需要截尾取整的数字。 Num_digits 用于指定取整精度的数字

Oracle中trunc函数、round 函数、ceil函数和floor函数的使用

微笑、不失礼 提交于 2019-12-02 23:19:45
1.1trunc函数处理数字 trunc函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。 其具体的语法格式如下 TRUNC(number[,decimals]) 其中: number 待做截取处理的数值 decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分。 ? 1 2 3 selecttrunc(123.98) from dual; selecttrunc(123.123,2) from dual; selecttrunc(123.123,-1) from dual; 注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。与取整类似,比如参数为1即取整到十分位,如果是-1,则是取整到十位,以此类推;如果所设置的参数为负数,且负数的位数大于或等于整数的字节数的话,则返回为0。如:TRUNC(89.985,-3)=0。 1.2trunc函数处理日期 trunc函数返回以指定元元素格式截去一部分的日期值。 其具体的语法格式如下: TRUNC(date,[fmt]) 其中: date为必要参数,是输入的一个日期值 fmt参数可忽略,是日期格式,用以指定的元素格式来截去输入的日期值。忽略它则由最近的日期截去 下面是该函数的使用情况: ? 1 2 3 4 5 6

delphi的函数round、trunc、ceil、floor 和RoundTo

感情迁移 提交于 2019-12-02 16:25:24
1. Round (四舍六入五留双) 功能说明:对一个实数进行四舍五入。(按照银行家算法) 例: var i, j: Integer; begin i := Round(1.5); // i等于2 j := Round(2.5); // j等于2 end; 在 Delphi 中使用Round函数得到的答案有时与我们所预期的会不太一样:采用的是四舍六入五留双。即当舍或入位大于或 小于五时按四舍五入来处理,而当舍或入位等于五时,就要看前面一位是什么,根据奇进偶不进,它总是返回一个偶数值。 例: i:= Round(11.5)//i等于12 i:= Round(10.5)//i等于10 这种Round其实是按照银行家算法,统计学上一般都用这种算法,比传统的"四舍五入"要科学。 如果要使用传统的"四舍五入"方法,可以使用下面函数: function RoundClassic(R: Real) 2. trunc (取得X的整数部分) 如: trunc (-123.55)=-123, floor(123.55)=123 3. ceil (取得大于等于X的最小的整数) 如:ceil(-123.55)=-123, ceil(123.15)=124 4. floor (取得小于等于X的最大的整数) 如:floor(-123.55)=-124,floor(123.55)=123 5.RoundTo

Oracle中trunc函数、round 函数、ceil函数和floor函数的使用

拈花ヽ惹草 提交于 2019-12-01 08:02:26
1.1trunc函数处理数字 trunc函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。 其具体的语法格式如下 TRUNC(number[,decimals]) 其中: number 待做截取处理的数值 decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分。 select trunc(123.98) from dual; select trunc(123.123,2) from dual; select trunc(123.123,-1) from dual; 注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。与取整类似,比如参数为1即取整到十分位,如果是-1,则是取整到十位,以此类推;如果所设置的参数为负数,且负数的位数大于或等于整数的字节数的话,则返回为0。如:TRUNC(89.985,-3)=0。 1.2trunc函数处理日期 trunc函数返回以指定元元素格式截去一部分的日期值。 其具体的语法格式如下: TRUNC(date,[fmt]) 其中: date为必要参数,是输入的一个日期值 fmt参数可忽略,是日期格式,用以指定的元素格式来截去输入的日期值。忽略它则由最近的日期截去 下面是该函数的使用情况: trunc(sysdate,'yyyy

oracle笔记之计算年龄、工龄

落花浮王杯 提交于 2019-11-30 11:56:18
方法一:利用months_between 函数计算 SELECT TRUNC(months_between(sysdate, birthday)/12) AS age from dual; 方法二:日期转换为 'yyyyMMdd' 格式后,相差一年的两个日期差为:10000 select TRUNC((to_char(sysdate, 'yyyyMMdd') - to_char(birth, 'yyyyMMdd')) / 10000) as age from mytable 来源: https://www.cnblogs.com/Bokeyan/p/11582661.html

Oracle - 获取当前周别函数

天大地大妈咪最大 提交于 2019-11-28 19:15:38
1 CREATE OR REPLACE FUNCTION GET_WEEK (V_RQ in DATE) return varchar2 as 2 str varchar2(20); 3 str1 varchar2(20); 4 5 begin 6 str :=TRIM(TO_CHAR(TRUNC((V_RQ+TO_CHAR(TRUNC(V_RQ,'YYYY'),'D')-1 -TRUNC(V_RQ,'YYYY'))/7)+1,'00')); 7 return str; 8 end; 来源: https://www.cnblogs.com/jeremywucnblog/p/11421775.html