查询的语句为:
SELECT count(*) FROM baxt_lasp WHERE lrrq >= '2017-04-01' AND lrrq <= '2017-04-06' AND bde<= cast('10000' as bigint)但是执行这个语句的时候,一直出现报错:从数据类型 varchar 转换为 bigint 时出错。
分析数据库中的数据:
发现数据中中,dbe的字段类型是varchar(50)
但是数据中dbe这个字段的数据大部分都是类似111.23类型的,并不是int型的数据,所以导致无法比较而导致出错。
解决办法:
SELECT count(*) FROM baxt_lasp WHERE lrrq >= '2017-04-01' AND lrrq <= '2017-04-06' AND bde<= cast('10000' as decimal)将bigint修改为decimal既可以解决比较时候出现的问题,又可以解决报错的问题。

在尝试将varchar类型字段转换为bigint时遇到错误,因为字段数据包含小数点。问题源于字段数据不是整数形式,例如'111.23'。解决方法需要对数据进行处理,确保转换前的数据符合bigint的要求。
9997

被折叠的 条评论
为什么被折叠?



