日期显示不正确与 substr & like 查询

Date is not displaying correct with substr & like query

我正在努力解决这个问题, 但我发现我使用的 substr 不正确,

举个例子,我的所有专栏都显示 hdfs://asdasda/asdas/fdsfdsfd/received_files/asdasd_20191231_11122333_123456789_CO.dat

其中一些具有更多字符,因此如果我使用的是 subsring

有些会 return 20191230 但有些人会 return _2020123

我们如何解决这个问题?

我试图只显示数据,这是使用 sql 语言或色调, 当我在 中输入脚本时,

select SUBSTR(input_file_name, LENGTH(input_file_name) - 44, 9) from th_ingestion_status limit 100

我觉得我的 Like 和 substr 语句脚本不正确

请使用以下查询,也请注明您使用的数据库,以便提供相关查询

substr(column_name, instr(column_name, '_', 1, 2) +1, 6)    

Oracle 测试用例:

select 'hdfs://asdasda/asdas/fdsfdsfd/received_files/asdasd_20191231_11122333_123456789_CO.dat', substr('hdfs://asdasda/asdas/fdsfdsfd/received_files/asdasd_20191231_11122333_123456789_CO.dat', instr('hdfs://asdasda/asdas/fdsfdsfd/received_files/asdasd_20191231_11122333_123456789_CO.dat', '_', 1, 2) +1, 6)

来自双重;

我想要下划线包围的第一个 8 位数字序列,使用 regexp_extract():

select regexp_extract(filename, '_([0-9]{8})_', 1)

如果您在上次 / 之后需要这个,那么:

select regexp_extract(filename, '_([0-9]{8})_[^/]*$', 1)