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>
    世界上最美的风景,是自己努力的模样
  • 相关阅读:
    2016年3月iOS面试总结
    iOS常用公共方法
    让你的App说出多国语言——iOS开发之本地化(国际化)
    开发中遇到的坑
    Git简明教程
    iOS-打包成ipa的4种方法
    iOS-最全的App上架教程
    android 开源项目
    android 文件缓存工具类
    android 聊天通讯源码
  • 原文地址:https://www.cnblogs.com/xiong-hua/p/14921543.html
Copyright © 2011-2022 走看看