如何使用 Presto 解析月-年字符串
How to parse month-year string using Presto
我有一个包含月-年字符串的列,我想将其转换为表示月和年组合的第一天的实际日期。例如
+----------+------------+
| Original | Desired |
+----------+------------+
| Aug-19 | 08/01/2019 |
+----------+------------+
| Sep-20 | 09/01/2020 |
+----------+------------+
| May-22 | 05/01/2022 |
+----------+------------+
我尝试使用 split_part
拆分 Month-Year 字符串,但是当我尝试将 Month 作为参数进入 date_parse
它会引发输入错误 (INVALID_FUNCTION_ARGUMENT
)。我可以将 Month-Year 分解成字符串,然后重新组合,对 01
进行硬编码,但是问题似乎是 Presto 无法将三个字母的月份解析为实际的月份.我还想尽可能避免使用 12 行 CASE WHEN 语句来解析月份。
我不确定年份是从哪里来的,但查询将是这样的:
select date_format(date_parse('May-22', '%b-%d'), '%m/%d/%Y')
https://trino.io/docs/current/functions/datetime.html?mysql-date-functions
我有一个包含月-年字符串的列,我想将其转换为表示月和年组合的第一天的实际日期。例如
+----------+------------+
| Original | Desired |
+----------+------------+
| Aug-19 | 08/01/2019 |
+----------+------------+
| Sep-20 | 09/01/2020 |
+----------+------------+
| May-22 | 05/01/2022 |
+----------+------------+
我尝试使用 split_part
拆分 Month-Year 字符串,但是当我尝试将 Month 作为参数进入 date_parse
它会引发输入错误 (INVALID_FUNCTION_ARGUMENT
)。我可以将 Month-Year 分解成字符串,然后重新组合,对 01
进行硬编码,但是问题似乎是 Presto 无法将三个字母的月份解析为实际的月份.我还想尽可能避免使用 12 行 CASE WHEN 语句来解析月份。
我不确定年份是从哪里来的,但查询将是这样的:
select date_format(date_parse('May-22', '%b-%d'), '%m/%d/%Y')
https://trino.io/docs/current/functions/datetime.html?mysql-date-functions