MySQL和Hive SQL 时间处理常用函数汇总

文章目录

以下是 SQL 中常用的时间处理函数汇总,涵盖 MySQLHive 的差异:

一、基础时间函数
功能 MySQL Hive
当前时间(日期 + 时间) NOW() / CURRENT_TIMESTAMP() current_timestamp()
当前日期 CURDATE() / CURRENT_DATE() current_date()
当前时间 CURTIME() current_time()
二、日期加减操作
功能 MySQL Hive
日期增加 / 减少 DATE_SUB(date, INTERVAL n DAY) date_sub(date, n)
月份增加 / 减少 DATE_SUB(date, INTERVAL n MONTH) add_months(date, n)
年份增加 / 减少 DATE_SUB(date, INTERVAL n YEAR) date_sub(date, n * 365)(近似)
时间增加秒数 DATE_ADD(time, INTERVAL n SECOND) date_add(time, n)
三、日期格式化与解析
功能 MySQL Hive
格式化日期 DATE_FORMAT(date, format) date_format(date, format)
解析字符串为日期 STR_TO_DATE(str, format) from_utc_timestamp(unix_timestamp(str), 'Asia/Shanghai')
提取年份 YEAR(date) year(date)
提取月份 MONTH(date) month(date)
提取日期 DAY(date) day(date)
提取季度 QUARTER(date) quarter(date)
四、时间差计算
功能 MySQL Hive
日期差(天数) DATEDIFF(end_date, start_date) datediff(end_date, start_date)
时间差(秒数) TIMESTAMPDIFF(SECOND, start, end) unix_timestamp(end) - unix_timestamp(start)
五、时间类型转换
功能 MySQL Hive
时间戳转日期 FROM_UNIXTIME(timestamp) from_utc_timestamp(timestamp, 'Asia/Shanghai')
日期转时间戳 UNIX_TIMESTAMP(date) unix_timestamp(date)
字符串转时间戳 UNIX_TIMESTAMP(str, format) unix_timestamp(str, format)
六、时区处理
功能 MySQL Hive
转换时区 CONVERT_TZ(time, from_tz, to_tz) from_utc_timestamp(time, 'Asia/Shanghai')
示例
获取当前时间并格式化
sql 复制代码
MySQL: SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s')
Hive: SELECT date_format(current_timestamp(), 'yyyy-MM-dd HH:mm:ss')
日期增加 3 天
sql 复制代码
MySQL: SELECT DATE_SUB('2025-03-07', INTERVAL 3 DAY)
Hive: SELECT date_sub('2025-03-07', 3)
计算两个日期的天数差
sql 复制代码
MySQL: SELECT DATEDIFF('2025-03-10', '2025-03-07')
Hive: SELECT datediff('2025-03-10', '2025-03-07')
注意事项:
  • MySQLHive 的函数名称和参数顺序可能存在差异(如 Hivedate_sub 直接使用数值而非 INTERVAL)。
  • Hive 通常需要显式处理时区(如 from_utc_timestamp),而 MySQL 可通过会话时区设置简化操作。
相关推荐
阿蒙Amon3 小时前
C# Linq to SQL:数据库编程的解决方案
数据库·c#·linq
董厂长3 小时前
langchain :记忆组件混淆概念澄清 & 创建Conversational ReAct后显示指定 记忆组件
人工智能·深度学习·langchain·llm
G皮T6 小时前
【人工智能】ChatGPT、DeepSeek-R1、DeepSeek-V3 辨析
人工智能·chatgpt·llm·大语言模型·deepseek·deepseek-v3·deepseek-r1
互联网搬砖老肖6 小时前
运维打铁: MongoDB 数据库集群搭建与管理
运维·数据库·mongodb
九年义务漏网鲨鱼6 小时前
【大模型学习 | MINIGPT-4原理】
人工智能·深度学习·学习·语言模型·多模态
元宇宙时间7 小时前
Playfun即将开启大型Web3线上活动,打造沉浸式GameFi体验生态
人工智能·去中心化·区块链
开发者工具分享7 小时前
文本音频违规识别工具排行榜(12选)
人工智能·音视频
典学长编程7 小时前
数据库Oracle从入门到精通!第四天(并发、锁、视图)
数据库·oracle
产品经理独孤虾7 小时前
人工智能大模型如何助力电商产品经理打造高效的商品工业属性画像
人工智能·机器学习·ai·大模型·产品经理·商品画像·商品工业属性
老任与码7 小时前
Spring AI Alibaba(1)——基本使用
java·人工智能·后端·springaialibaba