IBM DB2 for i SQL (iSeries) - 使用更新从字段末尾删除字符
IBM DB2 for i SQL (iSeries) - Removing a character from end of a field using update
我有一个名为 PDPRODP 的产品 table - 对于此 table 中的某些样式,我使用 concat 语句为其描述添加句号 (PRDESC),我现在希望删除这个句号。
描述的长度各不相同,字段最大大小为 30 个字符,我需要物理删除句号而不是使用 select 语句来 trim 句号。
我试过了;
UPDATE PDPRODP SET PRDESC = PRDESC-1 where PRSTYLE = 1234
但是我得到了这个错误:
Character in CAST argument not valid.
我在谷歌搜索后也试过这个;
UPDATE PDPRODP SET PRDESC=LEFT(PRDESC, LEN(PRDESC)-1)
WHERE PRCOMP = 1 AND PRSTYL = 31285
但是出现这个错误:
LEN in *LIBL type *N not found.
使用长度
UPDATE PDPRODP SET PRDESC=LEFT(PRDESC, LENGTH(PRDESC)-1)
WHERE PRCOMP = 1 AND PRSTYL = 31285
REPLACE() 函数可以搜索所有出现的某个字符串,并用另一个替换它的位置。您可能会搜索您的句号,并将其替换为零长度字符串 ''
。这在您的搜索字符串可能并不总是在末尾的情况下会很方便。
我有一个名为 PDPRODP 的产品 table - 对于此 table 中的某些样式,我使用 concat 语句为其描述添加句号 (PRDESC),我现在希望删除这个句号。
描述的长度各不相同,字段最大大小为 30 个字符,我需要物理删除句号而不是使用 select 语句来 trim 句号。
我试过了;
UPDATE PDPRODP SET PRDESC = PRDESC-1 where PRSTYLE = 1234
但是我得到了这个错误:
Character in CAST argument not valid.
我在谷歌搜索后也试过这个;
UPDATE PDPRODP SET PRDESC=LEFT(PRDESC, LEN(PRDESC)-1)
WHERE PRCOMP = 1 AND PRSTYL = 31285
但是出现这个错误:
LEN in *LIBL type *N not found.
使用长度
UPDATE PDPRODP SET PRDESC=LEFT(PRDESC, LENGTH(PRDESC)-1)
WHERE PRCOMP = 1 AND PRSTYL = 31285
REPLACE() 函数可以搜索所有出现的某个字符串,并用另一个替换它的位置。您可能会搜索您的句号,并将其替换为零长度字符串 ''
。这在您的搜索字符串可能并不总是在末尾的情况下会很方便。