下面是一个完整的示例,演示如何在Hive中获取本月第一天和最后一天: -- 创建一个包含日期字段的测试表CREATETABLEtest_table(date_field STRING);-- 插入测试数据INSERTINTOtest_tableVALUES('2022-09-01'),('2022-09-15'),('2022-09-30');-- 获取本月第一天SELECTtrunc(current_date,'MM')ASfirst_day_o...
ADD JAR /path/to/FirstDayOfLastMonth.jar; 1. 接下来,我们可以在Hive中使用刚刚创建的UDF来获取上个月的第一天。使用以下命令注册UDF: CREATE TEMPORARY FUNCTION first_day_of_last_month AS 'com.example.FirstDayOfLastMonth'; 1. 然后,我们可以在Hive中使用以下命令来获取上个月的第一天: SELECT first_...
Hive 时间日期处理总结 selectday--时间,date_add(day,1-dayofweek(day))asweek_first_day--本周第一天_周日,date_add(day,7-dayofweek(day))asweek_last_day--本周最后一天_周六,date_add(day,1-casewhendayofweek(day)=1then7elsedayofweek(day)-1end)asweek_first_day--本周第一天_周一,date_add(da...
-- 建立表DROP TABLE IF EXISTS test.employees_part;CREATE TABLE IF NOT EXISTS test.employees_part( emp_no INT COMMENT '员工ID', birth_date STRING COMMENT '出生日期', first_name STRING COMMENT '名', last_name STRING COMMENT '姓', hire_date STRING COMMENT '入职时间')PARTIT...
,lag(t1.day,1,'2018-01-01 00:00:00')over(partitionbyt1.idorderbyt1.day)aslag_2_day ,first_value(t1.day)over(partitionbyt1.idorderbyt1.day)asfirst_day_1 ,first_value(t1.day)over(partitionbyt1.id)asfirst_day_2 ,last_value(t1.day)over(partitionbyt1.idorderbyt1.day)aslast_day...
last_day:日期的当月的最后一天 select last_day('2020-02-30'); date_format(): 格式化日期 select date_format('2020-10-28 12:12:12','yyyy/MM/dd HH:mm:ss'); 字符串函数 字符串函数是一类处理字符串数据的函数,可以对字符串进行拼接、转换等操作。 upper: 转大写 select upper('low'); select...
3 增加一列first_day,此列存着每个用户最早登录时间。 3再增加一列by_day,这一列是用login_time - first_day (datediff),得到0,1,2,3,4,5...,这就得到了某一天登录离第一次登录有多长时间。 4 case when 分类求和不同天留存人数 数据 表user_info 列user_id和用户登录时间login_time 代码 SELECT ...
_first_day,--当季第一天LAST_DAY(TO_DATE(CONCAT(YEAR(day),'-',lpad(ceil(month(day)/3)*3,2,0),'-01')))ASseason_lASt_day,--当季最后一天TRUNC(day,'YY')ASyear_first_day,--当年第一天LAST_DAY(ADD_MONTHS(TRUNC(day,'YY'),11))ASyear_last_day,--当年最后一天WEEKOFYEAR(day)AS...
6) day: 获取日期中的日 (7) datediff: 两个日期相差的天数 (结束日期减去开始日期的天数) (8) date_add: 日期加天数; (9) date_sub: 日期减天数 (10) date_format: 将标准日期解析成指定格式字符串 4) 流程控制函数 (1) case when: 条件判断函数 ...
6) day: 获取日期中的日 (7) datediff: 两个日期相差的天数 (结束日期减去开始日期的天数) (8) date_add: 日期加天数; (9) date_sub: 日期减天数 (10) date_format: 将标准日期解析成指定格式字符串 4) 流程控制函数 (1) case when: 条件判断函数 ...