关于SQL查询中,数据类型转换的问题
select sum(cast(JNJE as bigint)) from ZSMXB where AJNBBH='371702001000201310250000000008'
我想查询ZSMXB这个表中JNJE的合。
JEJE 是varchar类型的,但是全是数字,例如600.00。
现在提示“从数据类型 varchar 转换为 bigint 时出错。”。
想求教一下,怎么改呀?
------解决方案--------------------bigint是整型 换成 decimal(10,2)
------解决方案--------------------DECLARE @JNJE VARCHAR(50)
SET @JNJE='600.00'
SELECT CAST(REPLACE(@JNJE,'.','') AS BIGINT)/100
------解决方案--------------------换成float也行
------解决方案--------------------之所以会报错是因为,你的JNJE字段的值不一定是整数,而是有小数部分的,所以无法转化为整数。
改成这样试试:
select sum(cast(JNJE as numeric(20,3))) from ZSMXB where AJNBBH='371702001000201310250000000008'
------解决方案--------------------convert(decimal(9,3),jnje)