Mysql中常遇到的时间处理

本文详细介绍了MySQL中的时间处理函数,包括求周一、计算时间差、日期加减运算、获取当前日期和时间以及计算月份差值。同时,也探讨了Impala中的日期比较、日期加减及复杂字段的日期运算方法。
摘要由CSDN通过智能技术生成

mysql、hive、impal、oracle(时间函数)

官方文档https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html

求周一

以下sql $time代表实际业务中的时间值。实现逻辑为:

  1. 先将$time 转换为char 类型
  2. 使用拼接函数再将$time转化成date格式——‘YYYY-MM-DD’
  3. str_to_date处理已经转为日期格式的数据开始运算
  4. %w返回当前日期是本周周几的编号,返回值是int(0-6) 0 代表周日 6代表周六 如果是周四则返回4
  5. substr处理转化后的数据,表达式1减去表达式2(int 值)减一。结果为周一日期
select subdate(str_to_date(concat(
  substr(cast($time as char),1,4)
  ,'-'
  ,substr(cast($time as char),5,2)
  ,'-'
  ,substr(cast($time as char),7,2)),'%Y-%m-%d'),date_format(str_to_date(concat(
  substr(cast($time as char),1,4
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值