Regex 从泛型字符串数据库H2中提取日期
我在H2数据库的表列中有一些字符串。例如:Regex 从泛型字符串数据库H2中提取日期,regex,date,h2,Regex,Date,H2,我在H2数据库的表列中有一些字符串。例如: 24058031_1607945815000_bucket/MSAVI/32SMJ4/S2_**20201214**_065_32SMJ4_A_MSAVI.tif bucket/20201214/ET0_**20201214**.tif_4937923_1607945815000 我想结合一些h2函数从字符串中提取粗体的日期(字符串可以是通用字符串,其中的日期格式为yyyyMMdd); 我想象了这样一个问题: Select extractDateFr
24058031_1607945815000_bucket/MSAVI/32SMJ4/S2_**20201214**_065_32SMJ4_A_MSAVI.tif
bucket/20201214/ET0_**20201214**.tif_4937923_1607945815000
我想结合一些h2函数从字符串中提取粗体的日期(字符串可以是通用字符串,其中的日期格式为yyyyMMdd);
我想象了这样一个问题:
Select extractDateFromString(column) from table;
但问题在于构建一个extractDateFromString
函数来实现这一点
欢迎提出任何建议。非常感谢。Lorenzo您需要使用
regexp\u replace()
删除所有不需要的内容:
Select REGEXP_REPLACE(column, '^.*\D(\d{8})(?:\D|$)[^\/]*$', '$1') from table;
(?如果您的正则表达式支持lookbehinds,则可以使用。谢谢,但实际上我正在寻找正则表达式和H2函数,以将此正则表达式的所有匹配项提取为子字符串,或者如果不存在,则寻找实现此函数的方法(可能构成一些已经存在的H2函数)