读书人

关于SQL查询中数据类型转换的有关问

发布时间: 2013-11-26 22:51:31 作者: rapoo

关于SQL查询中,数据类型转换的问题
select sum(cast(JNJE as bigint)) from ZSMXB where AJNBBH='371702001000201310250000000008'

我想查询ZSMXB这个表中JNJE的合。

JEJE 是varchar类型的,但是全是数字,例如600.00。

现在提示“从数据类型 varchar 转换为 bigint 时出错。”。

想求教一下,怎么改呀? SQL
[解决办法]
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)

读书人网 >SQL Server

热点推荐