全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 智能硬件
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 更多
流计算

DATEDIFF

更新时间:2018-04-25 15:19:19

语法

  1. INT DATEDIFF(VARCHAR enddate, VARCHAR startdate)
  2. INT DATEDIFF(TIMESTAMP enddate, VARCHAR startdate)
  3. INT DATEDIFF(VARCHAR enddate, TIMESTAMP startdate)
  4. INT DATEDIFF(TIMESTAMP enddate, TIMESTAMP startdate)

入参

  • startdate

    TIMESTAMP类型或VARCHAR类型日期,日期格式:yyyy-MM-dd 或 yyyy-MM-dd HH:mm:ss。

  • enddate

    TIMESTAMP类型或VARCHAR类型日期,日期格式:yyyy-MM-dd 或 yyyy-MM-dd HH:mm:ss。

功能描述

计算从enddate到startdate两个时间的天数差值,日期格式可以是yy-MM-dd HH:mm:ssyy-MM-dd或timestamp,返回整数,若有参数为null或解析错误,返回null

示例

  • 测试数据
datetime1(VARCHAR) datetime2(VARCHAR) nullstr(VARCHAR)
2017-10-15 00:00:00 2017-09-15 00:00:00 null
  • 测试案例
  1. SELECT DATEDIFF(datetime1, datetime2) as int1,
  2. DATEDIFF(TIMESTAMP '2017-10-15 23:00:00',datetime2) as int2,
  3. DATEDIFF(datetime2,TIMESTAMP '2017-10-15 23:00:00') as int3,
  4. DATEDIFF(datetime2,nullstr) as int4,
  5. DATEDIFF(nullstr,TIMESTAMP '2017-10-15 23:00:00') as int5,
  6. DATEDIFF(nullstr,datetime2) as int6,
  7. DATEDIFF(TIMESTAMP '2017-10-15 23:00:00',TIMESTAMP '2017-9-15 00:00:00')as int7
  8. FROM T1
  • 测试结果
int1(INT) int2(INT) int3(INT) int4(INT) int5(INT) int6(INT) int7(INT)
30 31 -31 null null null 31
本文导读目录