Ⅰ 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
)
)