日期显示不正确与 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)
我正在努力解决这个问题, 但我发现我使用的 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)