sql - RegEx 匹配有效日期 Presto
问题描述
对于下表,我想 available from date
从additional_info
字符串中提取 。我知道 Presto 中有一个regexp_extract_all(string, pattern)函数,但不太确定如何从字符串中提取日期。
供参考:
- 日期始终采用相同的格式
additional_info
列中只能有一个日期- 列中没有日期的行在日期
additional_info
列中为空
桌子
product_id additional_info
325245 New, contact for more information, available from 01.01.2020
635255 Used, available from 06.11.2020
422632 New, contact for more information
所需的输出表
product_id available_date
325245 01.01.2020
635255 06.11.2020
422632
解决方案
如果您的日期始终采用这种格式,一个非常简单的解决方案可能是:
SELECT
product_id
, regexp_extract(additional_info, '(\d\d.\d\d.\d\d\d\d)')
FROM table
它将返回与您的捕获组匹配的第一个子字符串(betweenbrackets)
。
推荐阅读
- html - 使用 Ajax 单击按钮上的控制器无效方法。ASP.NET
- c - Clang 11 和 GCC 8 O2 破坏了内联装配
- mysql - 从未从前 5 名演员那里租过电影的客户列表(Sakila DB)
- django - 启动时出现 Django KeyError
- batch-file - 批处理脚本:将文件从父文件夹和子文件夹移动到新的子文件夹,重命名重复项
- javascript - 我如何只悬停一个特定元素而不是同时悬停两个
- flutter - 颤动中的单选按钮列表
- python - django 1.8版'ForeignKey'对象没有属性
- python - tensorlfow gradient.tape 可以与占位符一起使用吗?
- powershell - 从运行 Invoke-Command for Test-NetConnection 的脚本输入信息时,Export-csv 未在文件中写入内容