咨询大家一个SQL语句

来源:百度知道 编辑:UC知道 时间:2024/05/27 10:58:08
一个表里有这样一个字段
QUAN
0.00000
1.00000
124.0000
0.00000
0.00000
我在查询的时候,想达到这样的效果
QUAN
NULL
1.00
124.00
NULL
NULL
就是数字为0的时候,显示为空,不为0的时候显示数字,保留两位小数.
三楼,四楼的朋友,用你们的语句,有数字的带出来没有达到小数点只取到两位的效果呢.......麻烦再检查一下,谢谢~

select quan = case when quan = 0 then null else round(convert(float,quan),2) end from table

这样就好了。

呃。。 四舍五入函数在这里不适用的。。
正确的写法如下:
select (case when QUAN=0 then null else cast(QUAN as decimal(20,2)) end) as QUAN
from tablename

update table set quan=case when isnull(quan,0)=0 then null else round(quan,2) end

两个函数:replace,round

看书吧