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