① 請問sql顯示百分比小數點的問題
select
round(a1/a2*100,2)||'%'
from
table
改成
select
to_char(round(a1/a2*100,2),'fm999990.00')||'%'
from
table
其中FM表示去掉空格,999990.00分別代表整數位數和小數位數是幾位
② sql截取小數點後幾位
這個要看資料庫表設計是怎麼規定的
一般小數類型的欄位,在Mysql資料庫中用decimal類型,可以分別設置長度和小數點
另外,長度是包括小數點的,比如:長度設為10,小數點設置為2,則這個數的整數位最大是8位
③ 在sql裡面要存儲帶小數的數應該用什麼數據類型
小數用double或者number不帶精度作為存儲,
示例如下,
1、創建測試表,create table test_num(id number, fee number(10,3));
④ sql查詢語句查詢結果是數值小數點後自動四捨五入取小數點後4位,可以怎麼寫
select convert(decimal(18,4),dj) from table
⑤ sql 指定小數點位數
用存儲過程來存入數據,存儲前加入如下轉換
if(len(欄位名)-charindex('.',欄位名))
>4
--判定小數位數是否大於4個
begin
declare
@result
decimal(18,4)
select
@result
=
cast(ceiling(欄位名*power(10,4))/power(10,4)
as
decimal(18,4))
end
⑥ SQL中的小數點後的輸入位數.
1、用函數 ROUND(數值,s) ,其中 s 表示 小數位數。
例:SELECT ROUND(4.994,2) 返回 4.990。
2、用函數 CAST(數值 as numeric(n,s)),其中n表示有效數字位數,s表示小數位數。
例:SELECT CAST(4.994 as numeric(10,2)) 返回 4.99。
3、用函數 CONVERT(numeric(n,s),數值),其中n表示有效數字位數,s表示小數位數。
例: SELECT CONVERT(numeric(10,2),4.985) 返回 4.99。
其運用的函數是函數 TRUNC。而trunc函數的功能和函數INT類似,是截取日期或數字,返回指定的值。函數trunc直接去除數字的小數部分,而函數INT則是向下舍入到最接近的整數。
(6)sql分數小數點擴展閱讀
TRUNC(for number)語法格式:TRUNC(number,[decimals])
其中:
number 待做截取處理的數值。
decimals 指明需保留小數點後面的位數。可選項,忽略它則截去所有的小數部分。
trunc函數 turnc(x,y)如果y是負數,則對x在小數點左邊的第|y|位處進行截斷。
例如:TRUNC(5.75, -1)=0;
看成 0005.75.000 從小數點左邊第一位往左邊截,是0。
下面是該函數的使用情況:
TRUNC(89.985,2)=89.98
TRUNC(89.985)=89
TRUNC(89.985,-1)=80
注意:第二個參數可以為負數,表示為小數點左邊指定位數後面的部分截去,即均以0記。與取整類似,比如參數為1即取整到十分位,如果是-1,則是取整到十位,以此類推。
⑦ 怎麼把SQL語句的結果集加上小數點
轉換成decimal類型。例如將1轉換成1.00
cast(1 as decimal(10,2))
⑧ SQL 中小數點的問題
用Round()函數
select round(money,4) from tabel
如果money值為120,就會顯示120.0000
另外select round(money,-2) from table
結果為:100
不用定義的,SQL本來就有的函數。直接在查詢中使用就可以了
⑨ SQL中小數點的問題
更改欄位a的屬性(定點精度10和小數位數2)
Alter Table 表名 Alter Column 欄位a numeric(10,2)
⑩ sql server 如何將小數變成分數。請各位高手賜教,小弟不勝感激。在線等答案。
這個比較難做,建議用java或C讀取資料庫中小數後再轉換寫回:方法是先按小數位數進行固定格式轉換再化簡,比如0.784,寫成784/1000,實際上就是兩個數784和1000,求它們的最大公約數為8,化簡得到98/125寫回。
值得注意的是資料庫不支持98/125這種數據吧,所以欄位必須是字元型的。另外如果原來的小數是浮點型則在計算機中表示有截斷誤差,可能難以判斷小數位數,所以也需要是字元型,這樣讀取數據有一個將ASCII數字轉換成實際數字的工作。