hive yyyymmdd转成yyyy-mm-dd
时间: 2023-04-16 12:00:40 浏览: 309
可以使用Hive中的substr函数和concat函数来实现将yyyymmdd转成yyyy-mm-dd的操作。
具体的方法如下:
1. 使用substr函数将原始日期字符串中的年、月、日分别提取出来,例如:
select substr('20220101', 1, 4) as year, substr('20220101', 5, 2) as month, substr('20220101', 7, 2) as day;
这样就可以得到年、月、日分别为2022、01、01的结果。
2. 使用concat函数将年、月、日拼接成新的日期字符串,例如:
select concat(substr('20220101', 1, 4), '-', substr('20220101', 5, 2), '-', substr('20220101', 7, 2)) as new_date;
这样就可以得到新的日期字符串为2022-01-01的结果。
综合起来,可以使用如下的Hive SQL语句将yyyymmdd转成yyyy-mm-dd:
select concat(substr(date_str, 1, 4), '-', substr(date_str, 5, 2), '-', substr(date_str, 7, 2)) as new_date from table_name;
其中,date_str为原始日期字符串,table_name为包含原始日期字符串的表名。
相关问题
hive中如何将yyyymmdd转成yyyy-mm-dd
在Hive中,可以使用substr、concat和from_unixtime函数将yyyymmdd转换为yyyy-mm-dd格式。例如,假设日期列的名称为date_col,可以使用以下语句进行转换:
```
select concat(substr(date_col, 1, 4), '-', substr(date_col, 5, 2), '-', substr(date_col, 7, 2)) as formatted_date from table_name;
```
其中,substr函数用于提取年、月和日的数字,concat函数用于将它们连接起来形成一个日期字符串,from_unixtime函数可以将字符串解析为日期类型进行操作。
HQL YYYYMMDD转换成YYYY-MM-DD
HQL是Hive Query Language的缩写,用于Hadoop平台上的数据处理。在HQL中,可以使用内置的日期函数将日期转换为不同的格式,包括将YYYYMMDD格式转换为YYYY-MM-DD格式。可以使用Hive自带的date_format函数实现这个转换,具体语法如下:
```
SELECT date_format('20220101', 'yyyy-MM-dd');
```
以上示例中,date_format函数将输入的日期'20220101'转换为YYYY-MM-DD格式的日期。请注意,date_format函数的第一个参数是要转换的日期,第二个参数是目标日期格式。
阅读全文