zpxc.net
当前位置:首页 >> 在SQL中如何从nvArChAr类型转换为DECimAl >>

在SQL中如何从nvArChAr类型转换为DECimAl

你看下你那个xx字段,是不是有非数字的字符,要是有,肯定不行了 这样执行是没问题的

select case when charindex('g',isnull(DescFlexField_PrivateDescSeg3,''))=0 then cast(0 as decimal(18,3)) when charindex('g',isnull(DescFlexField_PrivateDescSeg3,''))>0 then cast(SUBSTRING(isnull(DescFlexField_PrivateDescSeg3,''...

cast(nvarchar变量或字段 as decimal(19,2)) 或 CONVERT (decimal(19,2),nvarchar变量或字段 ) --- 前提是 nvarchar中数据必须是合法的数字格式,否则转换出错

楼上的2位回答明显不靠谱,你插入的最后一个值,对应的列是否数值型的。在插入数值型的列的时候,如果没有值,要么插入0,要么插入null值,插入''就会出现从数据类型 varchar 转换为 numeric 时出错。你其他的列都应该没问题,如果数值的长度够...

db2 "create table uu(id int,udk DECIMAL(18,6))" db2 "insert into uu values(1,19.34)" db2 "select id,varchar(to_char(udk),20) from uu"

case (varchar as decimal(30))

有一个A表,里面有一个b列,是varchar(18),现在要转换成numeric select cast(b as decimal(18,2)) from A FYI

是报的算术溢出还是就只是报错? 可以用where isnumeric(列7)=0 查看一下哪些不能转换为数字 如果是算术溢出,那可以放大decimal的位数

有一个A表,里面有一个b列,是varchar(18),现在要转换成numeric select cast(b as decimal(18,2)) from A FYI

网站首页 | 网站地图
All rights reserved Powered by www.zpxc.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com