我在包含文件路徑的DB2表中有一個字段。該值將是這個樣子:使用SQL-PL更改字段中的文件夾路徑
N:\ Folder1中\文件夾2 \ 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中有沒有辦法做同樣的事情,而只是在最後一個反斜槓之後應用更改,而不必硬編碼最後一個文件夾名稱?
感謝
請在您運行此存儲過程之前提供更多信息,例如您將要使用的典型值。 –
@IanBjorhovde運行存儲過程之前,該字段中的文件夾路徑將爲: N:\ Folder1 \ Folder2 \ Folder3 \ Folder4 \ ITP201602 – devkev
因此,在您的示例中,存儲過程不會真的改變任何內容,因爲它是目前2016-02? –