寫在前面的注意事項
在做除法運算時,可能遇到小的數除以大的數
例如:2/3
數據庫運算結果 一直等於0
select 2/3 除 select 2%3 取余
結果是
0 2
最佳方案
select (2+0.000)/(3+0.000)
結果
0.666666666
感謝:https://www.cnblogs.com/yanyyx/archive/2010/03/12/1684722.html 不然,我還不知道呢
以下內容轉載:
5 - SQL Server 2008 之 四則運算、比較運算、邏輯運算及字符連接運算
https://www.cnblogs.com/cncc/p/5592581.html
四則運算(加減乘除運算)如下:
--加減乘除(+、-、*、\、%)取余運算 SELECT --加法運算 3+5 AS 加法結果1, 3.5+6 AS 加法結果2, --減法運算 10-2.5 AS 減法結果1, 15.5+5.5 AS 減法結果2, --乘法運算 5*3 AS 乘法結果1, 1.5*2 AS 乘法結果2, --除法運算 25/6 AS 除法結果1, 35*3.5 AS 除法結果2, --取余運算 9%4 AS 取余結果1, 10%5 AS 取余結果2 GO
結果:
比較運算:
--比較(>、<、>=、 <=、 =、 <>)運算 --大於 IF 5>3 SELECT '5大於3' ELSE SELECT '5小於或等於3' --小於 IF 5<3 SELECT '5小於3' ELSE SELECT '5大於或等於3' --等於 IF 5=3 SELECT '5等於3' ELSE SELECT '5不等於3' --大於或等於 IF 5>=3 SELECT '5大於或等於3' ELSE SELECT '5小於3' --小於或等於 IF 5<=3 SELECT '5小於或等於3' ELSE SELECT '5大於3' --不等於 IF 5<>3 SELECT '5不等於3' ELSE SELECT '5等於3'
結果:
邏輯運算:
--邏輯(AND、OR、NOT)運算 IF(10 > 3 AND 2<=1 OR NOT 10>11) --優先級順序:NOT、AND、OR SELECT 'TRUE' ELSE SELECT 'FALSE'
結果:
字符連接運算:
--字符連接(+)運算 DECLARE @s1 varchar(10) SET @s1 = 'ABC' SELECT @s1+'123' DECLARE @s2 varchar(10) SET @s2 = 'ABC' --右邊是數字時必須作轉換再連接 SELECT @s2+CONVERT(varchar(10),123)
結果:
轉載地址:https://www.cnblogs.com/cncc/p/5592581.html