zoukankan      html  css  js  c++  java
  • Oracle:trunc()函数简介

    一:功能描述
      用于截取时间或者数值,返回指定的值。

    二:语法
    (1)日期处理:
        TRUNC(date,[fmt])
       date 为必要参数,是输入的一个date日期值
      fmt 参数可忽略,是日期格式,缺省时表示指定日期的0点。
    (2)数值处理:
        TRUNC(number,[decimals])
      number 为必要参数,是输入的一个number数值
      decimals 参数可忽略,是要截取的位数,缺省时表示截掉小数点后边的值。

    三:栗子
    (1)处理日期:

    --sysdate和trunc(sysdate)是不一样的 sysdate在当天的零时零分零秒等于trunc(sysdate)
    select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss'),
           to_char(trunc(sysdate), 'yyyy-mm-dd hh24:mi:ss')
      from dual t;
     
    --
    select trunc(sysdate, 'yy') "当年第一天" from dual;
    select trunc(sysdate, 'yyyy') "当年第一天" from dual;
    select trunc(sysdate, 'year') "当年第一天" from dual;
    --季度
    select trunc(sysdate, 'q') "当前季度的第一天" from dual;
    select trunc(add_months(sysdate,3), 'Q') -1/24 "这个季度最后一天23点" from dual; 
    --
    select trunc(sysdate, 'mm') "当月第一天" from dual;
    select trunc(sysdate, 'month') "当月第一天" from dual;
    select trunc(last_day(sysdate)+1) "下个月第一天的0点" from dual;
    --
    select trunc(sysdate, 'd') "本周的第一天,周日起" from dual; 
    select trunc(sysdate,'day') "本周的第一天,周日起" from dual; 
    select next_day(TRUNC(SYSDATE ), 'TUESDAY' ) + 12/24 "下个星期二中午12点" from dual;
    select TRUNC(LEAST(NEXT_DAY(SYSDATE, 'SATURDAY'), NEXT_DAY(SYSDATE, 'SUNDAY'))) +6*60+10/24*60) "下个周六日早上6点10分" from dual;
    --
    select trunc(sysdate+1) "今晚12点" from dual;
    select trunc(sysdate+1) + (8*60+30)/(24*60) "明天早上8点30分" from dual;
    --
    select trunc(sysdate, 'hh')"当前小时" from dual;  
    select trunc(sysdate, 'hh24') "当前小时" from dual; 
    --
    select trunc(sysdate, 'mi') "当前分钟" from dual;
    select trunc(sysdate,'mi') + 10/ (24*60) "10分钟后的时间"from dual; 
    --
    select sysdate + 10/(24 * 60 * 60) "10秒钟后" from dual;--trunc没有精确到秒的精度

    (2)处理数值:

    --123.56,将小数点右边指定位数后面的截去; 
    select trunc(123.567,2) from dual;
    --100,第二个参数可以为负数,表示将小数点左边指定位数后面的部分截去,即均以0记;
    select trunc(123.567,-2) from dual;
    --123,默认截去小数点后面的部分;
    select trunc(123.567) from dual;
    好的代码像粥一样,都是用时间熬出来的
  • 相关阅读:
    SQL_Server_2005_日期和时间函数(描述及实例)
    用户 '**' 登录失败。该用户与可信 SQL Server 连接无关联。
    MSSQL2005服务器登录名、角色、数据库用户、角色、架构的关系
    SQL_Server_2005_字符串函数(描述及实例)
    C#中关于DataGridView行和列的背景色前景色设置
    SQL Server 数据库使用备份还原造成的孤立用户和对象名‘xxx’无效的错误的解决办法
    SQL Server 2005允许远程连接的配置说明
    .Net Remoting 集成于IIS的简要步骤
    网上学习资料网址集合(随时整理ing)
    利用宏命令,部落联盟照样沟通
  • 原文地址:https://www.cnblogs.com/jijm123/p/15763010.html
Copyright © 2011-2022 走看看