當前位置:首頁 » 編程語言 » sql中除得結果是否為整數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql中除得結果是否為整數

發布時間: 2023-08-31 14:50:37

『壹』 在sql中兩數相除為什麼等於1,我要保留小數

--1、整數相除,結果是整數
select5/2

--2、小數相除,結果是小數
select5.0/2

『貳』 sql05除法進位取整問題

目測, 我估計你這個 sql 。

是查詢。 表裡面有多少頁 (每頁20行), 以及多少行 的 sql 語句。



下面是一個例子代碼, 我就不 count(1) 了。 你用 count(1) 替換掉那個 16363


1>
2> select
3> 16363/20 AS [你原有的],
4> CEILING(16363/20.0) AS [修改以後的]
5> go
你原有的 修改以後的
----------- --------------
818 819
(1 行受影響)

『叄』 菜鳥求教,sql語句中兩個數相除,有可能除盡或者除不盡,除不盡的時候只取商的整數部分。除盡就取商

sqlserver中

本來直接相除就是取商的整數部分,無須再做處理啊

declare@aint,@bint
set@a=9
set@b=4
select@a/@b

『肆』 sql server 2008 整數相除四捨五入

sql server 2008 整數相除需要除數或被除數有一個數據類型為小數,才可以四捨五入。


首先看一個例子,如圖:


兩條語句唯一區別就是 10 與 10.00

1、select cast(round(10/6,0) as int) 結果:1

2、select cast(round(10.00/6,0) as int) 結果:2

但結果確不一樣。


原因是SQLserver有默認的數據類型轉換。

10/6 默認轉換為整型 即:10/6 = 1。那麼 round(1) = 1

10.00/6 默認轉換為小數即:10.00/6 = 1.666666 ,那麼 round(1.666666,0) = 2

『伍』 一個關於SQL語句判斷整數的問題

create TRIGGER tr_A_Insert ON A
WITH ENCRYPTION
for insert
AS
BEGIN
DECLARE @a VARCHAR(100)

SET @a = (select a FROM inserted)
IF isnumeric(substring(@a,1,8)) = 1 and floor(substring(@a,1,8))=substring(@a,1,8)
begin
INSERT INTO B(b) VALUES(@A)
end ELSE
IF isnumeric(substring(@a,1,4)) = 1 and floor(substring(@a,1,4))=substring(@a,1,4)
BEGIN
INSERT INTO C(c) VALUES(@A)
END
END

『陸』 SQL除法為什麼等於0

sql server里的 / 是整除,也就是說如果是 1/2 就是0,因為1比2小,所以整除的結果就是0.5中的 整數部分0 。

如果要實現正常的0.5,就這樣 1.0/2 就可以,也就是說把 整數1 轉化為 numeric 類型,再除就好了

『柒』 在SQL中 怎麼判斷查詢的是整數

oracle
select * form table where mod(數值,1) = 0

sqlserver
select * from table where 數值 = round(數值,0)

『捌』 SQL除法問題

7/12中的/被當作是整數除法
應該在sql語句的相應位置加上1.0*,

如1.0*7/12,這樣整個表達式會被認為是小數計算。

『玖』 sql語句中兩個數相除

整數除以整數=整數改為:select 1.0 * (select count(RecordID) from RegisterRecord where datediff(yy,WBirthday,getdate())>26) /(select count(RecordID) from RegisterRecord )*100 As 比例(%)
from RegisterRecord
還有就是資料庫欄位的別名寫法不是那樣寫的