【Hive SQL】常用日期函数汇总

article/2025/8/9 1:32:50

目录

时间戳和日期相互转换函数:

unix_timestamp :日期格式转换成时间戳

from_unixtime :时间戳转换成日期格式函数

current_timestamp: 获取当前的时间戳

 to_date: 将日期由字符串类型转换成日期类型

转特定日期单位的函数:

year: 获取年份

 month: 获取月份

 day: 获取某天

 hour: 获取小时

 date_diff: 获取相差天数

获取特定日期函数:

 date_sub: 获取某个日期前X天的日期

 date_add: 获取某个日期后X天的日期

 last_day: 获取某月最后一天

 next_day: 获取下一周星期几的日期

  current_date: 获取某月最后一天

实用案例:

时间格式YYYYMMDD转换成YYYY-MM-DD


时间戳和日期相互转换函数:

unix_timestamp :日期格式转换成时间戳

语法

unix_timestamp([expr [, fmt] ] )

返回当前时间或指定时间的 UNIX 时间戳。

  • expr:采用有效日期/时间格式的可选日期、时间戳或字符串表达式。
  • fmt:在 expr 为字符串时,指定格式的可选字符串表达式。

示例

> SELECT unix_timestamp('2016-04-08', 'yyyy-MM-dd');1460041200

from_unixtime :时间戳转换成日期格式函数

语法

from_unixtime(unixTime [, fmt])

在 fmt 中返回 unixTime

  • unixTime:BIGINT 表达式,表示自 1970-01-01 00:00:00 以来已经过去的秒数。
  • fmt:可选的具有有效格式的 STRING 表达式。

示例

> SELECT from_unixtime(0, 'yyyy-MM-dd HH:mm:ss');1970-01-01 00:00:00
> SELECT from_unixtime(0);1970-01-01 00:00:00

current_timestamp: 获取当前的时间戳

语法

current_timestamp()

返回查询计算开始时的当前时间戳。

示例

> SELECT current_timestamp();2022-09-26 00:18:11.914

 to_date: 将日期由字符串类型转换成日期类型

语法

to_date(expr [, fmt] )

返回使用可选格式设置将 expr 转换为日期后的值。

  • expr:表示日期的 STRING 表达式。
  • fmt:一个可选格式 STRING 表达式。

示例

> SELECT to_date('2009-07-30 04:17:52');2009-07-30
> SELECT to_date('2016-12-31', 'yyyy-MM-dd');2016-12-31







转特定日期单位的函数:

year: 获取年份

语法

year(expr)

返回 expr 的年份部分。

  • expr:一个日期或时间戳表达式。

示例

> SELECT year('2016-07-30');2016

 month: 获取月份

语法

month(expr)

返回 expr 中时间戳的月份部分。

  • expr:一个 TIMESTAMP 表达式或有效时间戳格式的字符串。

示例

> SELECT month('2016-07-30');7

 day: 获取某天

语法

day(expr)

返回日期或时间戳的月份日期。

  • expr:一个日期或时间戳表达式。

示例

> SELECT day('2009-07-30');30

 hour: 获取小时

语法

hour(expr)

返回时间戳的小时部分。

  • expr:时间戳表达式。

示例

> SELECT hour('2009-07-30 12:58:59');12

 date_diff: 获取相差天数

语法

date_diff(endDate, startDate)

返回从 startDate 到 endDate 的天数。

  • endDate:日期表达式。
  • startDate:日期表达式。

示例

> SELECT date_diff('2009-07-31', '2009-07-30');1
> SELECT date_diff('2009-07-30', '2009-07-31');-1







获取特定日期函数:

 date_sub: 获取某个日期前X天的日期

 语法

date_sub(startDate, numDays)

返回在 startDate 之前的日期 numDays

  • startDate:一个日期表达式。
  • numDays:一个整数表达式。

示例

> SELECT date_sub('2016-07-30', 1);2016-07-29

 date_add: 获取某个日期后X天的日期

 语法

date_add(startDate, numDays)

返回在 startDate 之后的日期 numDays

  • startDate:一个日期表达式。
  • numDays:一个整数表达式。

示例

> SELECT date_add('2016-07-30', 1);2016-07-31

 last_day: 获取某月最后一天

 语法

last_day(expr)

返回日期所属月份的最后一天。

  • expr:一个 DATE 表达式。

示例

> SELECT last_day('2009-01-12');2009-01-31

 next_day: 获取下一周星期几的日期

 语法

next_day(expr, dayOfWeek)

返回晚于 expr 并已按 dayOfWeek 中命名的第一个日期。

  • expr:一个 DATE 表达式。
  • dayOfWeek:标识一周中某一天的 STRING 表达式。

示例

> SELECT next_day('2015-01-14', 'TU');2015-01-20dayOfWeek 必须是以下之一(不区分大小写):'SU', 'SUN', 'SUNDAY'
'MO', 'MON', 'MONDAY'
'TU', 'TUE', 'TUESDAY'
'WE', 'WED', 'WEDNESDAY'
'TH', 'THU', 'THURSDAY'
'FR', 'FRI', 'FRIDAY'
'SA', 'SAT', 'SATURDAY'

  current_date: 获取某月最后一天

 语法

current_date()

返回查询计算开始时的当前日期。

示例

> SELECT current_date();2020-04-25







实用案例:

时间格式YYYYMMDD转换成YYYY-MM-DD

【HQL实用】时间格式YYYYMMDD转换成YYYY-MM-DDhttps://blog.csdn.net/u013631103/article/details/126983750?spm=1001.2014.3001.5501


http://chatgpt.dhexx.cn/article/N0U2OFJV.shtml

相关文章

SQL Server函数的使用(日期函数和时间函数)

日期函数和时间函数 1… GetDate()函数 返回系统当前日期 – 返回当前系统的日期和时间 2.day函数 获取日期的’日’部分 day括号里面放的是日期 3.Month函数,返回日期中的月份 month括号里面放的是日期 4.Year函数,返回日期中的年份 year括号里面…

odps sql 日期函数处理

日期处理 to_date 命令格式: to_date(string, format)用途: 将一个字符串按照format指定的格式转成日期值。 SELECT to_date(20200401,yyyymmdd); > 2020-04-01 00:00:00to_char 命令格式: to_char(datetime, format)用途:…

关于sql中处理日期的相关函数

总结工作中用到的SQL 热门SQL下面是一些mysql的时间获取语句:处理时间的函数获取月份、星期、星期数、天数等函数日期的操作函数EXTRACT获取当年有多少天、当前日期已过去天数、获取当前年起始日期字符串转换为日期格式将时间、日期转换为字符串 日期转换函数、时间…

SQL 常用函数整理_日期函数(一)

SQL日期函数 1、DATEADD 函数作用:按照指定的单位datepart和幅度delta修改date的值。 语法示例:dateadd(datetime date, bigint delta, string datepart) 参数说明: date:Datetime类型,日期值。若输入为String类型…

spark sql之日期函数

1.data_format 小时取整 小时相加减 需要注意的是,并不是每一个版本的spark sql都支持interval来修改时间间隔,这里提供另一种方法来 实现时间的增减 from_unixtime:将时间戳转换成当前时间 unix_timestamp:将当前时间转换为时间戳 sel…

ORACLE SQL日期函数

ORACLE SQL日期函数 日期函数: 日期:Oracle中的日期型数据实际含有二个值:日期和时间。 例如:函数SYSDATE返回日期和时间 日期的数学运算 在日期上加上或减去一个数字结果仍为日期。 两个日期相减返回日期之间相差的天数。 -日…

Maxcompute ODPS SQL 日期函数

Maxcompute ODPS SQL 日期函数 日期函数 1.DATEADD --按照指定的单位修改date的值--加1天dateadd(datetime, 1, dd) --减1天dateadd(datetime, -1, dd) --加20个月 --月份溢出,年份增加dateadd(datetime, 20, mm) --2005年2月没有29日 --日期截取当月最后一天datea…

SQL中常用的日期函数

SQL中常用的日期函数 1.getdate()返回当前系统日期 select getdate() --2021-03-19 18:30:33.5632.dateadd(日期部分,常数,日期) 返回将日期的指定日期部分加常数后的结果 datesub(日期部分,常数,日期)返回将日期的指定日期部分…

零基础自学SQL课程 | SQL中的日期函数大全

大家好,我是宁一。 今天是我们的第21课:SQL中的日期函数。 MySQL中内置的日期函数,包括获取日期、日期格式化、日期计算,我们分别来看看。 1、获取日期函数 MySQL内置的获取日期时间函数: SELECT NOW() AS 当前日期时…

SQL数据库的导入和导出

SQL数据库的导入和导出 一、数据库数据的导出 右键要导出数据的数据库→任务→导出数据 点击下一步 选择数据源,默认点击下一步即可 安装需要导出文件类型(此处以EXCEL为例) 选择导出EXCEL文件的路径和名称 原因全部导出,点击下一…

sql连接本地数据库

sql连接本地数据库 安装好SQL 2008后,界面只有已安装的包和正在运行的包 左侧没有数据库,无法进行数据库操作. 这是因为打开软件后,会提示连接一个东西,连接的时候按照默认的话就会连接错。如果出现提示连接成功后的界面只有两个文…

QT-8-使用SQL数据库

数据库(掌握) Qt本身并没有数据库,但是Qt支持市面上绝大多数主流的数据库的连接,前提是运行Qt的电脑上也有对应的数据库产品。 在嵌入式领域、纯软件客户端领域都在使用SQLite数据库作为程序本地数据存储的方式。原因在于SQLite…

SQLServer数据库还原

百度上只有水文,一路下一步,毫无参考价值,只能自己写下来,帮助下童鞋们,上图 找到大门! 这里1号框框为备份文件的路径,就是在备份一文中备份的文件,不知道就去看看,或者继…

sql服务器密码如何显示,如何查看sql数据库密码

如何查看sql数据库密码 内容精选 换一换 tempdb是系统数据库,是一个全局资源,可供连接到 SQL Server 实例或 SQL 数据库的所有用户使用 。它是一个临时数据库,无法永久保存数据,作用是给实例中的各种请求处理中间数据,分为主数据文件(.mdf)、次要数据文件(.ndf)和日志文件…

VS连接SQL server数据库

目录 连接数据库 使用dataGridView控件显示表中的数据。 实现基本CRUD操作 连接数据库 打开vs,点击 视图,打开sql资源管理器,添加SQL Server 输入服务器名称,用户名,密码,进行连接。 如图,就…

sql mysql 删除数据库_如何清除SQL数据库中的数据?

展开全部 清除SQL数据库中的数据可以按照以下步骤进行: 1.首先需要注意的是,在删除数据库文件时,直接进636f707962616964757a686964616f31333365666165入文件夹删除数据库文件,这种行为是十分不准确的。 2.SQL Server中的数据库文…

VB.NET连接SQL数据库

VB.NET与SQL数据库的数据互通 一、准备工作二、VB.NET操作、代码、可能遇到的问题等 一、准备工作 ①本地网络连接的IP地址; ②已安装好的SQL软件(本例使用SQL2014); ③已安装好的Visual Studio 2019软件; ④用于VB.NET连接的数据库(登录名称…

解决SQL数据库无法附加

在附加数据库时遇到“附加数据库出错”。 1.在文件夹中查看需要附加的数据库:2.右键选择“属性”并选择“安全”选项卡:3.点击“编辑”后选择“添加”:4.输入“eve”后点击“检查名称”:5.确定后选中“Everyone”并勾选“完全控制…

SQL 数据库突然变成可疑

如图所示: 服务器上的数据库突然变成可疑,并且打不开。 解决办法: 1、先停掉数据库服务。 2、找到这个数据主数据文件和日志文件所在的位置,并把它们拷贝到一个新的地方(不停数据库服务,文件是禁止拷贝的…

sql数据库 ‘xxxxxx‘ 已存在,请选择其他数据库名称

出现这种报警是因为数据库中已经有了该数据库,因此我们可以重新命名。当然,我们也可以删除已有的数据库,有两种方法: 1、手动删除数据库 选中【数据库】,单击鼠标右键选择【刷新】,如下图所示,…