0
我正在构建本机存储过程..其中一个字段是通过组合(连接)5个值派生的。这5个值中有3个是字符字段,2个是压缩十进制数。在我写入表格之前,我需要将它们合并到一个字段中。在存储过程中将数字转换为压缩十进制
我不知道如何将任何数字转换为SP中的压缩十进制(COMP-3等效的COBOL)。
我试过DEC()函数,但它没有给出预期的结果。
我使用的是DB2 V11
请让我知道,如果有任何其他的方法..
谢谢..
我正在构建本机存储过程..其中一个字段是通过组合(连接)5个值派生的。这5个值中有3个是字符字段,2个是压缩十进制数。在我写入表格之前,我需要将它们合并到一个字段中。在存储过程中将数字转换为压缩十进制
我不知道如何将任何数字转换为SP中的压缩十进制(COMP-3等效的COBOL)。
我试过DEC()函数,但它没有给出预期的结果。
我使用的是DB2 V11
请让我知道,如果有任何其他的方法..
谢谢..
with tmp as
(
select
case when
case when trim(ifnull(valchar1, ''))='' then '0' else trim(valchar1) end ||
case when trim(ifnull(valchar2, ''))='' then '0' else trim(valchar2) end ||
case when trim(ifnull(valchar3, ''))='' then '0' else trim(valchar3) end ||
valdec1 || valdec2 as NewVal
from your table
)
select
cast(case NewVal ='' then null else NewVal end as dec(15, 2)) as NewvvalDec
from tmp
你说明您正在使用哪个数据库管理系统? – McNets
使用IBM DB2 V11 –
请添加标签或将其添加到您的问题。 – McNets