全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2996
推到 Plurk!
推到 Facebook!

在ACCESS和SQL中有小数字段的设置

答題得分者是:huangeider
blade
一般會員


發表:9
回覆:5
積分:7
註冊:2004-04-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-08 10:58:08 IP:222.209.xxx.xxx 未訂閱
请有经验的前辈指教。 在做要求运算非常精确的情况下(比如财务计算),在数据库(ACCESS或者SQL)中表示金额、单价等有小数的字段都设置成数字还是货币?若设置成数字用单精度还是双精度好?一般小数位设置几位啊?
huangeider
高階會員


發表:288
回覆:492
積分:231
註冊:2003-02-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-08 12:09:14 IP:202.145.xxx.xxx 未訂閱
引言: 请有经验的前辈指教。 在做要求运算非常精确的情况下(比如财务计算),在数据库(ACCESS或者SQL)中表示金额、单价等有小数的字段都设置成数字还是货币?若设置成数字用单精度还是双精度好?一般小数位设置几位啊?
使用浮點數資料的近似值資料型別。浮點資料是近似值,其資料型別範圍無法正確代表所有的值。 一般的精確度用求精確度高的資料最好把資料設大一點(雙精確度) 在sql中可選用real和float
type    精確度  儲存大小 
real    7 位數  4 位元組 
float   15 位數 8 位元組 
也可用decimal[(p[, s])] 與 numeric[(p[, s])]
使用固定有效位數與小數位數的數字資料型別。    decimal[(p[, s])] 與 numeric[(p[, s])]    固定有效位數及小數位數的數字。若使用最大有效位數,其有效值為 - 10^38  1 到 10^38 – 1;decimal 在 SQL-92 中的同義字是 dec 和 dec(p, s)。    p (precision)    指定小數點左方及右方可儲存的十進位數總和的上限。有效位數的值可從 1 到最大有效位數。最大有效位數值為 38。    s (scale)    指定小數點右方可儲存的十進位個數總和的上限。小數位數可從 0 到 p。預設的小數位數是 0;因此 0 <= s <= p。儲存區大小上限可能不同,視有效位數的設定而定。    精確度 儲存區位元組 
1 - 9  5 
10-19  9 
20-28  13 
29-38  17 
sql的話一般都是用float型態來存,因real似乎不太符合需要 為了萬一設想最好設大一點的float,若是float也不符合需要那就 設decimal[(p[, s])] 或 numeric[(p[, s])] 記憶体是會佔多一些,但比起日後有數字出問題時,處理起來會簡單 的多 以上是針對sql而言,對小數位幾位一般公司各有不同,有外幣的話設 多位一點吧,瞭解公司的需求,才能解決小數位數幾位的問題,不過呢 我遇過許多公司的小數位都常會變動的,那可能就設多位一點吧!不然 的話會被追殺,而且修改程式的價位也很不好商量 access的話你可查說明文件會得知其型態的範圍 堅持從洗馬桶做起 Eric
系統時間:2024-09-29 3:00:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!