當前位置:首頁 » 編程語言 » sql計算後就是小數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql計算後就是小數

發布時間: 2022-08-05 02:41:36

sql哪些數據類型能帶小數又能計算的

浮點數據類型

浮點數據類型用於存儲十進制小數。浮點數值的數據在SQL Server 中採用上舍入(Round up 或稱為只入不舍)方式進行存儲。所謂上舍入是指,當(且僅當)要舍入的數是一個非零數時,對其保留數字部分的最低有效位上的數值加1 ,並進行必要的進位。若一個數是上舍入數,其絕對值不會減少。如:對3.14159265358979 分別進行2 位和12位舍入,結果為3.15 和3.141592653590。

1、REAL 數據類型

REAL數據類型可精確到第7 位小數,其范圍為從-3.40E -38 到3.40E +38。 每個REAL類型的數據佔用4 個位元組的存儲空間。

2、FLOAT

FLOAT數據類型可精確到第15 位小數,其范圍為從-1.79E -308 到1.79E +308。 每個FLOAT 類型的數據佔用8 個位元組的存儲空間。 FLOAT數據類型可寫為FLOAT[ n ]的形式。n 指定FLOAT 數據的精度。n 為1到15 之間的整數值。當n 取1 到7 時,實際上是定義了一個REAL 類型的數據,系統用4 個位元組存儲它;當n 取8 到15 時,系統認為其是FLOAT 類型,用8 個位元組存儲它。

3、DECIMAL

DECIMAL數據類型可以提供小數所需要的實際存儲空間,但也有一定的限制,您可以用2 到17 個位元組來存儲從-10的38次方-1 到10的38次方-1 之間的數值。可將其寫為DECIMAL[ p [s] ]的形式,p 和s 確定了精確的比例和數位。其中p 表示可供存儲的值的總位數(不包括小數點),預設值為18; s 表示小數點後的位數,預設值為0。 例如:decimal (15 5),表示共有15 位數,其中整數10 位,小數5。 位表4-3 列出了各精確度所需的位元組數之間的關系。

4、NUMERIC

NUMERIC數據類型與DECIMAL數據類型完全相同。
注意:SQL Server 為了和前端的開發工具配合,其所支持的數據精度默認最大為28位。

Ⅱ SQL 求平均值保留小數問題

把取到的平均值round或者truncate一下(在avg外面),如下:

createviewAbcourseas
selectCno,COUNT(Cno)asNumber,round(avg(Grade),2)asAvggrade,MAX(Grade)asTopGrade
fromSCgroupbyCno;

望採納,謝謝

Ⅲ access中用SQL計算結果的小數位數

可以使用ROUND函數輕松搞定:

SELECT ROUND((表1.重量*4/(3.14*表1.直徑*表1.直徑*表1.長度),2) AS 體積密度
FROM 表1;

Ⅳ sql 乘除 保留小數點問題

cast(SUM(DATEDIFF(ss,opentime ,leavetime )/60.0/60.0) as numeric(18,2) )
就可以只保留兩位小數了。

Ⅳ 為什麼用sql的查詢語句查出來的結果小數點位數會變

懷疑你定義的變數只取小數點後面兩位,或者顯示格式是…9999.99吧。

Ⅵ sql 查詢結果怎麼顯示為小數

將人數類型定義為decimal

Ⅶ sql server 計算相除時怎麼得到包含小數點的結果

除數或被除數有一個不是整型數據就可以。
如果是常數計算,直接加上小數點和0即可
執行一下,體會一下吧:
declare @a decimal(12,4),@b int,@c decimal(12,4)
select @a=10,@b=3,@c=3
select @a/@b,@a/@c,@a/3,@b/2.0,@b/2,@c/2,3/2,3.0/2

Ⅷ SQL Server2000自帶計算機列讓計算結果保留一位小數,該怎麼做呢

設置一列為精度列 numeric(18, 1) 18為長度,1為小數點後保留1位,再與另一列做運算,得出的就是保留一位小數!

Ⅸ sql查詢,如果是整數就不顯示小數點,如果是小數就顯示小數

create table #temp3
(
aNo varchar(50),
qty decimal(18,2)
)

insert into #temp3
select 'A',1
union
select 'B',1.1
union
select 'C',1.2

select * from #temp3
select aNo,
case when right(qty,2)='00'
then left(qty,len(qty)-3)
when right(qty,2)<>'00' and right(qty,1)='0'
then left(qty,len(qty)-1)
else '0' end
from #temp3

將你的表同參數代入最後的查詢語句就可以得出結果了。