表中有两个字段a,b 都是int类型a b
--------
1 1
1 2
2 1现在我想要查询a-b的值,如果a-b<0的话就用0代替,并把查询结果转化为float类型
也就是要得到下面这个结果:a b c
---------
1 1 0.0
1 2 0.0
2 1 1.0有没有类似于isnull()之类的可以检查运算结果的函数,还望各位前辈指教
--------
1 1
1 2
2 1现在我想要查询a-b的值,如果a-b<0的话就用0代替,并把查询结果转化为float类型
也就是要得到下面这个结果:a b c
---------
1 1 0.0
1 2 0.0
2 1 1.0有没有类似于isnull()之类的可以检查运算结果的函数,还望各位前辈指教
解决方案 »
- 不是有效的 Microsoft 磁带格式备份集?
- 数据库提示:数据提供程序或其他服务返回E_FAIL 状态!!!
- 调试存贮过程时,加了很多print语句,如果不删除,执行时会影响效率吗?
- 我想用update 更新下列SQL语句中QTY为1,该怎么写呢?
- 怎么操作??非常简单的,进来帮忙
- 表中有一时间日期型字段,如何删除最后一条记录?
- Sql和Access数据库有什么主要区别,请用过这两个库的高手指点一二?
- 将旧表更A新到新表temp?不要直接拷贝,高手们,快来帮忙!
- 从SQLSERVER7.0升级到 SQL2000 的问题
- sql server 7.0 的 一个日期格式的问题 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 好郁闷的Access Update 语法老是说出错,我试了N+N+N次还是不行。
- SQL删除前N条记录
from tb
from tb
a,b,(cast((case when a-b<0 then 0 else a-b end) as float)) as c
from
tb
SELECT a,b,[c]=CASE WHEN a-b<0 THEN CAST(0 AS FLOAT) ELSE a-b END
FROM tb
SQL中也存在隐式转换?
c列是什么类型的?
go
create table [tb]([a] int,[b] int)
insert [tb]
select 1,1 union all
select 1,2 union all
select 2,1
select *,c=case when a<b then 0.0 else a-b end
from tb/**
a b c
----------- ----------- ---------------------------------------
1 1 0.0
1 2 0.0
2 1 1.0(3 行受影响)
**/
刚刚翻了下书
float 七位
double 十五位 如果c列的值是0.1234567
我如何截取我想要的位数呢?如果截取了小数点后4位,那么截取的值是0.1234还是0.1235?请黛玉前辈指点~