【发布时间】:2020-11-05 05:23:58
【问题描述】:
需要获取 IBM DB2 中与 IBM DB2 中当前日期匹配的所有行。 表中没有日期列,但值中有一个包含日期的列。
文件名:String1_11Nov20_String2
需要提取的值:11Nov20
需要一个类似于下面的 SQL 来传递当前日期,例如:
select * from Table where FileName like '%Current_date%'
【问题讨论】:
需要获取 IBM DB2 中与 IBM DB2 中当前日期匹配的所有行。 表中没有日期列,但值中有一个包含日期的列。
文件名:String1_11Nov20_String2
需要提取的值:11Nov20
需要一个类似于下面的 SQL 来传递当前日期,例如:
select * from Table where FileName like '%Current_date%'
【问题讨论】:
如果字符串中的日期值与以下查询返回的月份表示形式完全相同,并且日期表示形式带有前导零,那么您可以在 LIKE 谓词中使用以下表达式:LIKE '%\_' || TO_CHAR(CURRENT DATE, 'DDMonYY', 'en_US') || '\_%' ESCAPE '\'
WITH T(I) AS (VALUES 1 UNION ALL SELECT I+1 FROM T WHERE I < 12)
SELECT TO_CHAR(DATE('2020-' || DIGITS(DEC(I, 2)) || '-01'), 'DDMonYY', 'en_US')
FROM T;
【讨论】: