从数据类型 varchar 转换为 bigint 时出错。

来源:互联网 发布:淘宝达人大v认证入口 编辑:程序博客网 时间:2024/05/17 01:58

查询的语句为:

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既可以解决比较时候出现的问题,又可以解决报错的问题。

1 0
原创粉丝点击