我写了一SQL的百分比计算语句
select cast(left(round((cast(line.qty_shipped_conv as float)/line.qty_rec)*100,2),5)as varchar) as ff
FROM grn_line line错误提示: 消息 8134,级别 16,状态 1,第 1 行 Divide by zero error encountered.请问如何更新这语句为正确语句?
select cast(left(round((cast(line.qty_shipped_conv as float)/line.qty_rec)*100,2),5)as varchar) as ff
FROM grn_line line错误提示: 消息 8134,级别 16,状态 1,第 1 行 Divide by zero error encountered.请问如何更新这语句为正确语句?
解决方案 »
- 如何使用别人的数据库?
- 求一SQL写法和思路
- 怎么根据xml列中的值来筛选
- 我取得了一个uniqueidentifier值,用SQL语句取得的,取得后是一个字符串,我想把它又写入另一个表,但是发行无法转换字符串到这个类型
- 请问在dts中建立包后,在哪里可以使用dtsrun命令执行包的操作啊?
- 在线等……着急……返回了消息“找不到可安装的isam
- 关于查询
- sql2000数据库属性中用户的权限有:创建表、创建视图..等等,那儿个权限是关于删除表的?我想禁止一个用户创建和删除表
- 从一个表里面取10对号码的问题,SQL语句要怎么写?
- 专家请进!!!谢谢解答!!
- 怎么查看数据库文件的具体内容?????
- 如何取随机数写入数据库一个字段,急求高手帮忙!
FROM grn_line line
select cast((round((cast(line.qty_shipped_conv as float)/nullif(line.qty_rec,0))*100,2))as varchar)+'%' as ff
NULLIF
如果两个指定的表达式相等,则返回空值。语法
NULLIF ( expression , expression )参数
expression常量、列名、函数、子查询或算术运算符、按位运算符以及字符串运算符的任意组合。返回类型
返回类型与第一个 expression 相同。如果两个表达式不相等,NULLIF 返回第一个 expression 的值。如果相等,NULLIF 返回第一个 expression 类型的空值。