久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

decimal(numeric )、float 和 real 數(shù)據(jù)類型的區(qū)別[轉(zhuǎn)]

 kittywei 2012-04-10

decimal(numeric )           同義,,用于精確存儲數(shù)值

float 和 real                     不能精確存儲數(shù)值

decimal 數(shù)據(jù)類型最多可存儲 38 個數(shù)字,,所有數(shù)字都能夠放到小數(shù)點的右邊。decimal 數(shù)據(jù)類型存儲了一個準確(精確)的數(shù)字表達法,;不存儲值的近似值,。

定義 decimal 的列、變量和參數(shù)的兩種特性如下:

  • p 小數(shù)點左邊和右邊數(shù)字之和,,不包括小數(shù)點,。如 123.45,則 p=5,s=2,。

    指定精度或對象能夠控制的數(shù)字個數(shù),。

  • s

    指定可放到小數(shù)點右邊的小數(shù)位數(shù)或數(shù)字個數(shù)。

    p 和 s 必須遵守以下規(guī)則:0 <= s <= p <= 38,。

numericdecimal 數(shù)據(jù)類型的默認最大精度值是 38,。在 Transact-SQL 中,numeric decimal 數(shù)據(jù)類型在功能上等效,。

當數(shù)據(jù)值一定要按照指定精確存儲時,,可以用帶有小數(shù)的 decimal 數(shù)據(jù)類型來存儲數(shù)字。

float 和 real 數(shù)據(jù)

float real 數(shù)據(jù)類型被稱為近似的數(shù)據(jù)類型,。在近似數(shù)字數(shù)據(jù)類型方面,,floatreal 數(shù)據(jù)的使用遵循 IEEE 754 標準,。

近似數(shù)字數(shù)據(jù)類型并不存儲為多數(shù)數(shù)字指定的精確值,它們只儲存這些值的最近似值,。在很多應用程序中,,指定值與存儲值之間的微小差異并不明顯。但有時這些差異也值得引起注意,。由于 floatreal 數(shù)據(jù)類型的這種近似性,,當要求精確的數(shù)字狀態(tài)時,比如在財務應用程序中,,在那些需要舍入的操作中,,或在等值核對的操作中,就不使用這些數(shù)據(jù)類型,。這時就要用 integer,、decimalmoneysmallmone 數(shù)據(jù)類型,。

在 WHERE 子句搜索條件中(特別是 = 和 <> 運算符),,應避免使用 floatreal 列。最好限制使用 floatreal 列做 > 或 < 的比較,。

IEEE 754 規(guī)格提供了四種舍入模式:舍入到最接近的值,、上舍入、下舍入和舍入到零,。Microsoft? SQL Server? 使用上舍入,。所有的數(shù)值必須精確到確定的精度,但會產(chǎn)生細小的浮點值變化,。因為浮點數(shù)字的二進制表示法可以采用很多合法舍入規(guī)則中的任意一條,,因此我們不可能可靠地量化一個浮點值。

轉(zhuǎn)換 decimal 和 numeric 數(shù)據(jù)

對于 decimal numeric 數(shù)據(jù)類型,,Microsoft? SQL Server? 將精度和小數(shù)位數(shù)的每個特定組合看作是不同的數(shù)據(jù)類型,。例如,decimal(5,5) 和 decimal(5,0) 被當作不同的數(shù)據(jù)類型,。

在 Transact-SQL 語句中,,帶有小數(shù)點的常量自動轉(zhuǎn)換為 numeric 數(shù)據(jù)值,且必然使用最小的精度和小數(shù)位數(shù),。例如,,常量 12.345 被轉(zhuǎn)換為 numeric 值,其精度為 5,,小數(shù)位為 3,。

decimal numeric floatreal 轉(zhuǎn)換會導致精度損失。從 intsmallint,、tinyint,、floatreal,、money smallmoneydecimalnumeric 轉(zhuǎn)換會導致溢出,。

默認情況下,在將數(shù)字轉(zhuǎn)換為較低精度和小數(shù)位數(shù)的 decimalnumeric 值時,,SQL Server 使用舍入法,。然而,如果 SET ARITHABORT 選項為 ON,,當發(fā)生溢出時,,SQL Server 會出現(xiàn)錯誤。若僅損失精度和小數(shù)位數(shù),,則不會產(chǎn)生錯誤,。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多