sql正负
① sql数据库中哪个类型可以存储负数 如果不能存储,用什么方法才能存储
数据库中一般的数字类型都可以存储负数,如int,numeric,decimal等。
工具:sqlserver 2008 R2
步骤:
1、以int类型为例,首先创建一个表:
② SQL显示正负数问题,请求SQL高手帮助
可以写 case when 商品编号 like 'XSCKTH%' then 销售金额*-1 else 销售金额 end
③ 在sql语句中,用函数min可不可以找出数据库中有正负值的那个负值
min 是取最小值 不是取负值 你要取负值 用<0 即可
④ sql语句如何将结果集里面的正数转换为负数,,各位大虾帮帮忙。。
假如原有的值获取:
select [Amount] from orders
改成
select -[Amount] from orders
就是负值了。因为合理的amount应该是正的。
如果你担心万一出现了负的amount
用-abs([Amount])也可以
⑤ sql 查询时数量有很多负数 怎么消除负数,不清除清除正数只改变正数
我大致知道什么意思了,楼主是想留下产品总数和批号的数量为正数的行数据。那楼主可以这样写:
第一种,汇总后筛选:
select * from 产品批次表 a
join (select 名称,sum(数量) as 总计数量 from 产品批次表
group by 名称)b
on a.名称=b.名称
where a.数量>0
第二种,使用开窗函数
select a.名称,a.批号,a.数量 from (
select 名称,批号,数量 as 原始数量,sum(数量) over(partation 名称) as 数量 from 产品批次表
) a
where a.原始数量>0
第二种写法使用分析函数实现,个人推荐使用第二种方法