Ⅰ sql怎么进行加减乘除运算
前提:能进行加减运行的必须是数值类型number,或者是时间类型。字符串类型无法进行加减!
SQL语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言作为数据输入与管理的接口。
SQL语言语句可以嵌套,这使他具有极大的灵活性和强大的功能。
掌握了基本的SQL语句语法,就像英语语法一样,就能够对SQL语句运用来去自如!
如果字段‘数量’为数值型 直接用+,-,*,/
如果字段‘数量’为非数值型,则转换为数值型,eg:转换为int型 convert(int,‘数量')
或cast('数量' as int)
之后再用+,-,*,/
Ⅱ sql语句 联表查询 并进行除法运算
先用聚合函数求和,然后再减
SELECT t1.购房人, (t1.总房价- tu.已收款金额) AS UnPaid
FROM table1 AS t1, (SELECT sum(t2.已收款金额) AS 已收款金额,房间号
FROM dbo.table2 AS t2
GROUP BY 房间号) as tu
WHERE t1.房间号= tu.房间号
Ⅲ SQL的除法计算
SELECT DATEDIFF(month ,CONVERT(varchar(100),hire_date,23), CONVERT(varchar(100), GETDATE(),23))/12 as DiffDate from View_1
AS ... 作为值的自定义列名,在语句中应当放在值之后
Ⅳ T-SQL编程: 求1到100的和。 求1000以内能被3整除的所有数的和。
一:求1到100的和
declare @i int
declare @sum int
set @i=1
set @sum=0
while @i<=100
begin
set @sum=@sum+@i
set @i=@i+1
end
select @sum
二: 求1000以内能被3整除的所有数的和。
declare @i int
declare @sum int
set @i=1
set @sum=0
while @i<=1000
begin
if (@i%3)=0
set @sum=@sum+@i
set @i=@i+1
end
select @sum as '1000之内整除3的和'
Ⅳ 用T-SQL语言实现除法问题,语句如下,请帮忙解释一下。顺便解释一下exists的用法就更好了。谢谢
我换了一种更容易理解的方法来达到同样的目的:
select snumber from cor as s1 where cid
in(select cid from cor as s2 where snumber='001')
group by snumber
having COUNT(distinct cid) =(select COUNT(*) from cor where snumber='001')
Ⅵ SQL语句实现关系代数中的“除法”
给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算可以得到一个新的关系P(X),P是R中满足下列条件的元组在X 属性列上的投影: 元组在X上的分量值x的像集Y(x)包含S在Y上的投影的集合。
第一步:找出关系R和关系S中相同的属性,即Y属性。在关系S中对Y做投影(即将Y列取出);
第二步:被除关系R中与S中不相同的属性列是X,关系R在属性X上做取消重复值的投影;
第三步:求关系R中X属性对应的像集Y;
第四步:判断包含关系,R÷S其实就是判断关系R中X各个值的像集Y是否包含关系S中属性Y的所有值。
R(X,Y)÷S(Y,Z)的运算用结构化语言SQL 语句可表达为下列形式:
Ⅶ SQL如何做除法
SQL做除法的步骤:
select
t.[origin-destination],t.[SH/LANE/MOT] /(select count(1) from ['TMS$'])ASPERCENTAGEFROM (代码1) t
group by [origin-destination],t.[SH/LANE/MOT]
having t.[SH/LANE/MOT] /count(*) <= 0.01
注:两个count都是int,相除会没有小数部分,所以应该都给转成带小数的数。
cast as numeric(10,4) 。
(7)tsql计算除法扩展阅读
例题,表明为chuqinqk 列名 迟到 1(次)一个月的总天数为30 求迟到率。
select * from table1 where 工资>2500 and 工资<3000 //同上
select 姓名 from table1 where 性别='0' and 工资='4000'
select * from table1 where not 工资= 3200
select * from table1 order by 工资desc //将工资按照降序排列
select * from table1 order by 工资 asc //将工资按照升序排列
select * from table1 where year(出身日期)=1987 //查询table1 中所有出身在1987的人select * from table1 where name like
'%张' /'%张%' /'张%' //查询1,首位字‘张’3,尾位字‘张’2,模糊查询
select * from table1 order by money desc //查询表1按照工资的降序排列表1 (升序为asc)
select * from table1 where brithday is null //查询表1 中出身日期为空的人
SQL语言,是结构化查询语言(StructuredQueryLanguage)的简称。
Ⅷ SQL语句怎么表示除法运算
select case when 除数 =0 then 0 else 被除数/除数 end
Ⅸ sql server 简单的除法运算
用一个SQL求出来就可以了
select sum(case s when b the 1 else 0 end)/sum(case s when b then 0 else 1 end ) as result from t
但要判断一下除数是否为0的情况,就要写成这样:
select case when sum(case s when b then 0 else 1 end )=0 then 0 else sum(case s when b the 1 else 0 end)/sum(case s when b then 0 else 1 end ) end as result from t
如果除数是0,结果返回0
Ⅹ SQL如何做除法
这样:
select
t.[origin-destination],t.[SH/LANE/MOT] /(select count(1) from ['TMS$'] )ASPERCENTAGE
FROM (代码1) t
group by [origin-destination],t.[SH/LANE/MOT]
having t.[SH/LANE/MOT] /count(*) <= 0.01
注:两个count都是int,相除会没有小数部分,所以应该都给转成带小数的数。
cast as numeric(10,4) 。
(10)tsql计算除法扩展阅读:
SQL中除法运算的实现
R(X,Y)÷S(Y,Z)的运算用结构化语言SQL 语句可表达为下列形式:
select distinct R.X from R R1
where not exists
(
select S.Y from S
where not exists
(
select * from R R2
where R2.X=R1.X and R2.Y=S.Y
)
)