Varchar到db2中的十进制转换 [英] Varchar to Decimal conversion in db2

查看:877
本文介绍了Varchar到db2中的十进制转换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图将 varchar 字段转换为十进制字段 db2 但我遇到错误



AMOUNT 字段是 varchar 字段需要转换为十进制(31,3)



是我的查询

  SELECT CAST(ROUND(TRIM(AMOUNT),3)AS DECIMAL(31,3))
FROM TABLENAME

注意: AMOUNT field(varchar)也有 NULL

示例值:

  7.324088 
-42.97209
854
NULL
6
6
350
-6
15.380584
1900

我得到以下错误:


在函数
DECFLOAT的字符串参数中找到无效字符。 SQLSTATE = 22018



解决方案

尝试像

  SELECT CAST(ROUND(COALESCE(TRIM(AMOUNT),0),3)AS DECIMAL(31,3)
FROM TABLENAME


I am trying to convert a varchar field to decimal field in db2 but I am getting an error

AMOUNT field is a varchar field which needs to be converted to decimal(31,3)

Given below is my query

SELECT CAST(ROUND(TRIM(AMOUNT),3) AS DECIMAL(31,3))
FROM TABLENAME

Note: AMOUNT field (varchar) has a NULL value as well
Sample values:

7.324088  
-42.97209  
854  
NULL  
6  
6  
350  
-6  
15.380584  
1900

I get the below error:

Invalid character found in a character string argument of the function "DECFLOAT". SQLSTATE=22018

解决方案

Try doing like

SELECT CAST(ROUND(COALESCE(TRIM(AMOUNT),0),3) AS DECIMAL(31,3))
FROM TABLENAME

这篇关于Varchar到db2中的十进制转换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆