DB2 TRIM 000000 到 0

DB2 TRIM 000000 to 0

我看过:

我有一个长度为六的列和一个字符列。典型值为 AA01AA。我需要从值中取出中间的 2 个字符并转换为数字。

我正在使用以下代码执行此操作:TRIM(L '0' FROM(SUBSTRING(Myfield, 3, 2)))。在上面的示例值中,我得到了 1。当值为 000000 时,问题就出现了。trim returns ''。我需要它 return 0.

我试过 REPLACE(TRIM(L '0' FROM(SUBSTRING(Myfield, 3, 2))),'' ,'0') 但这只是给了我一个空白字符串。我也试过 TRANSLATE(TRIM(L '0' FROM(SUBSTRING(Myfield, 3, 2))), '0', '') 但这给出了关于参数 03 是无效数据类型、长度等的错误

如有任何帮助,我将不胜感激。

像这样应该可以解决问题:

integer(substr(myField,3,2)))

SUBSTR提取两个字符,INTEGER将其作为输入并将其转换为数字。 TRIM 完全没有必要。

values(integer(substr('000000',3,2)))

1          
-----------
          0

  1 record(s) selected.