我看过:
我有一个六长的列和一个字符列。典型值为AA01AA。我需要将值中间的2个字符子串起来并转换为数字。
我使用以下代码执行此操作:TRIM(L '0' FROM(SUBSTRING(Myfield, 3, 2)))
。在上面的示例值中,我给出了1.当值为000000时出现问题。修剪返回''。我需要它返回0。
我尝试了REPLACE(TRIM(L '0' FROM(SUBSTRING(Myfield, 3, 2))),'' ,'0')
,但这只是给了我一个空字符串。我也试过了TRANSLATE(TRIM(L '0' FROM(SUBSTRING(Myfield, 3, 2))), '0', '')
但是这给出了一个关于参数03是无效数据类型,长度等的错误。
我将不胜感激。
答案 0 :(得分:2)
这样的事情可以解决问题:
integer(substr(myField,3,2)))
SUBSTR
提取两个字符,INTEGER
将其作为输入并将其转换为数字。 <{1}}根本没有必要。
TRIM