zoukankan      html  css  js  c++  java
  • sql dataadd() 函数

    dateadd() 函数在日期中添加或减去指定的时间间隔
    命令格式:
    dateadd(datetime, delta, datepart)
    用途:
    按照指定的单位和幅度修改datetime的值
    返回值: 
    返回修改后的结果,datetime类型。若任一输入参数为NULL,返回NULL。

    参数说明:
    ● datetime:datetime类型,日期值。若输入为string类型会隐式转换为datetime类型后参与运算,其它类型抛异常。。

    ● delta:bigint类型,修改幅度。若输入为string类型或double型会隐式转换到biging类型后参与运算,其他类型会引发异常。若delta大于0,加;否则减。
    ● datepart: string类型常量, 修改单位,,支持格式对天的修改 "dd" , 对月的修改 "mm",对年的修改 "yyyy" ,对小时修改"hh",对分钟修改"mi",对秒修改"ss" ,
    此外也支持扩展的日期格式, 年-“year”,
    月-“month”或”mon”, 日-“day”, 小时-“hour”。 非常量、不支持的格式会或其它类型抛异常。
    备注: 
    按照指定的单位增减delta时导致的对更高单位的进位或退位,年、月、时、分、秒分别按照10进制、12进制、24进制、60进制、60进制计算。当delta的单位是月时,
    计算规则如下:若datetime的月部分在增加delta值之后不造成day溢出,则保持day值不变,否则把day值设置为结果月份的最后一天。

    示例: 1、
    2021-04-24 前一天的时间 dataadd('2021-04-24 00:00:00',-1,'dd');
    2、2021-04-24 前两个月时间
        SELECT 
              dateadd(to_date('${bizdate}','yyyymmdd'),-2,'mm') as data2
        FROM a
             WHERE ds = '${bizdate}';
        ${bizdate}时间格式是yyyymmdd需要先to_date转成日期 yyyy-mm-dd格式
    ● 加一天:dateadd(trans_date, 1, 'dd')
    ● 减一天:dateadd(trans_date, -1, 'dd')
    ● 加二十个月:dateadd(trans_date, 20, 'mm')
    若trans_date = '2005-02-28 00:00:00', dateadd(transdate, 1, 'mm') = '2005-03-28 00:00:00'
    若trans_date = '2005-01-29 00:00:00', dateadd(transdate, 1, 'mm') = '2005-02-28 00:00:00'
    若trans_date = '2005-03-30 00:00:00', dateadd(transdate, -1, 'mm') = '2005-02-28 00:00:00' </b>
    世界上最美的风景,是自己努力的模样
  • 相关阅读:
    软件/环境的注册码
    js图片延迟加载如何实现
    http状态码
    关于深拷贝(含数组对象)
    javascript继承方式详解
    使用寄生构造函数 创建类
    前端知识点大全【转载】
    统一addEventListener与attachEvent中this指向问题
    sublime text全程指南【转载】
    函数防抖与节流[转载]
  • 原文地址:https://www.cnblogs.com/xiong-hua/p/14921543.html
Copyright © 2011-2022 走看看