我在一个包含文件路径的 DB2 表中有一个字段。该值将如下所示:
N:\Folder1\Folder2\Folder3\Folder4\ITP201602
我需要一个存储过程,它将更改带有时间戳的最后一个文件夹,它将显示为 ITPYYYYMM。ITP 是一个不会改变的占位符值。查看此路径的其他软件需要它。
这是我当前的查询,它有效:
CREATE PROCEDURE UPDATE_ITP_DOCUMENT_PATH()
LANGUAGE SQL
BEGIN
UPDATE dbname.tablename
SET filepathfield = LEFT(filepathfield, LOCATE('\Folder4\',filepathfield,1)+8) || 'ITP' || CHAR(YEAR(current timestamp)*100 + MONTH(current timestamp))
WHERE idfield = 'idfieldvalue'
END
问题在于它需要将最后一个文件夹命名为“Folder4”。无论最后一个文件夹的名称如何,我们都希望它能够正常工作。
SQL PL 中有没有办法做同样的事情,但只需在最后一个反斜杠之后应用更改,而不必硬编码最后一个文件夹名称?
谢谢