这种格式的字符串在hive 中 用sql怎么分割 ‘王晓娟2020-05-22台风’
时间: 2024-02-20 11:58:36 浏览: 179
在 Hive 中,您可以使用 SUBSTR、INSTR 和 CONCAT 函数来分割这种格式的字符串。具体实现可以参考以下 HiveQL 语句:
```
SELECT SUBSTR(str, 1, INSTR(str, '2') - 1) AS name,
SUBSTR(str, INSTR(str, '2'), 10) AS date,
SUBSTR(str, INSTR(str, '2') + 10) AS event
FROM (
SELECT CONCAT('王晓娟', '2020-05-22', '台风') AS str
) t
```
这里假设字符串中的数字 2 是日期的起始标志,日期长度为 10 个字符。以上 HiveQL 语句将字符串拆分成了三个部分,分别是姓名、日期和事件,您可以根据实际需求进行修改。
相关问题
hive sql分割字符串函数
Hive SQL中有一个用于分割字符串的函数叫做split。它的基本用法是split(string str, string regex),返回一个字符串数组。其中,str是要分割的字符串,regex是用于分割的正则表达式。这个函数会根据正则表达式将字符串分割成多个子串,并返回一个数组。你可以使用数组的索引来获取分割后的子串。例如,split('apache hive', '\\s+')会将字符串'apache hive'按照一个或多个空白符进行分割,返回一个包含两个元素的数组。\[3\]
#### 引用[.reference_title]
- *1* *2* [Hive函数03_字符串分割切片截取函数](https://blog.csdn.net/ZZQHELLO2018/article/details/103400521)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [Hive SQL 中内置函数的梳理--字符串函数--时间函数--数学函数--条件函数--加密函数](https://blog.csdn.net/mx13156/article/details/126336858)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
如何用hive的sql 将 2022-07-01 转换为202207
您可以使用Hive SQL中的date_format函数来将日期格式化为您想要的字符串格式。具体来说,您可以使用以下代码将"2022-07-01"转换为"202207":
```sql
SELECT date_format('2022-07-01', 'yyyyMM');
```
这里,date_format函数接受两个参数:第一个参数是要格式化的日期字符串,第二个参数是要输出的日期格式。在这个例子中,第一个参数是'2022-07-01',第二个参数是'yyyyMM',表示输出的格式为年份和月份的连续字符串。执行以上SQL语句后,您应该可以得到结果为"202207"的输出。
阅读全文