當前位置:首頁 » 數字幣問答 » sqlserver貨幣類型和數字類型區別

sqlserver貨幣類型和數字類型區別

發布時間: 2021-03-29 18:25:26

Ⅰ sqlserver或oracle中,要顯示貨幣符號、千分位和小數點,如$367,890.12或¥8,890.04,請問如何設置

你好,
$、¥只是在查詢分析器中,自動根據欄位類型為貨幣類型時自動顯示的,我們在程序中取值時還是取的數值,就是沒有這兩種符號的。如果你想顯示,可以在取出值後在前面加上$、¥符號就可以了。
希望對你有幫助,望採納。謝謝!

Ⅱ Sqlserver中的decimal,float 和 real 數據類型的區別

decimal 數據類型最多可存儲 38 個數字,所有數字都能夠放到小數點的右邊。decimal 數據類型存儲了一個准確(精確)的數字表達法;不存儲值的近似值。
定義 decimal 的列、變數和參數的兩種特性如下:
· p 小數點左邊和右邊數字之和,不包括小數點。如 123.45,則 p=5,s=2。
指定精度或對象能夠控制的數字個數。
· s
指定可放到小數點右邊的小數位數或數字個數。
p 和 s 必須遵守以下規則:0 <= s <= p <= 38。
numeric 和 decimal 數據類型的默認最大精度值是 38。在 Transact-SQL 中,numeric 與 decimal 數據類型在功能上等效。
當數據值一定要按照指定精確存儲時,可以用帶有小數的 decimal 數據類型來存儲數字。
float 和 real 數據
float 和 real 數據類型被稱為近似的數據類型。在近似數字數據類型方面,float 和 real 數據的使用遵循 IEEE 754 標准。
近似數字數據類型並不存儲為多數數字指定的精確值,它們只儲存這些值的最近似值。在很多應用程序中,指定值與存儲值之間的微小差異並不明顯。但有時這些差異也值得引起注意。由於 float 和 real 數據類型的這種近似性,當要求精確的數字狀態時,比如在財務應用程序中,在那些需要舍入的操作中,或在等值核對的操作中,就不使用這些數據類型。這時就要用 integer、decimal、money 或 smallmone 數據類型。
在 WHERE 子句搜索條件中(特別是 = 和 <> 運算符),應避免使用 float 或 real 列。最好限制使用 float 和 real 列做 > 或 < 的比較。
IEEE 754 規格提供了四種舍入模式:舍入到最接近的值、上舍入、下舍入和舍入到零。Microsoft® SQL Server™ 使用上舍入。所有的數值必須精確到確定的精度,但會產生細小的浮點值變化。因為浮點數字的二進製表示法可以採用很多合法舍入規則中的任意一條,因此我們不可能可靠地量化一個浮點值。
轉換 decimal 和 numeric 數據
對於 decimal 和 numeric 數據類型,Microsoft® SQL Server™ 將精度和小數位數的每個特定組合看作是不同的數據類型。例如,decimal(5,5) 和 decimal(5,0) 被當作不同的數據類型。(因此在編存儲過程當中使用的變數採用Real 或 Float,而不採用decimal類型)
在 Transact-SQL 語句中,帶有小數點的常量自動轉換為 numeric 數據值,且必然使用最小的精度和小數位數。例如,常量 12.345 被轉換為 numeric 值,其精度為 5,小數位為 3。
從 decimal 或 numeric 向 float 或 real 轉換會導致精度損失。從 int、smallint、tinyint、float、real、money 或 smallmoney 向 decimal 或 numeric 轉換會導致溢出。
默認情況下,在將數字轉換為較低精度和小數位數的 decimal 或 numeric 值時,SQL Server 使用舍入法。然而,如果 SET ARITHABORT 選項為 ON,當發生溢出時,SQL Server 會出現錯誤。若僅損失精度和小數位數,則不會產生錯誤。

Ⅲ SqlServer中的money數據類型怎麼用

money類型是精確到貨幣單位的千分之十。存儲大小為 8 個位元組。存儲形式為12345.67,如果你原來的float的小數位數多於三位,就會四捨五入轉換成money類型。

Ⅳ sqlserver的數據類型

sqlserver的數據類型比較多,常用的包括:
第一大類:整數數據
bit:bit數據類型代表0,1或NULL,就是表示true,false.佔用1byte.
int:以4個位元組來存儲正負數.可存儲范圍為:-2^31至2^31-1.
smallint:以2個位元組來存儲正負數.存儲范圍為:-2^15至2^15-1
tinyint: 是最小的整數類型,僅用1位元組,范圍:0至此^8-1
第二大類:精確數值數據
numeric:表示的數字可以達到38位,存儲數據時所用的位元組數目會隨著使用權用位數的多少變化.
decimal:和numeric差不多
第三大類:近似浮點數值數據
float:用8個位元組來存儲數據.最多可為53位.范圍為:-1.79E+308至1.79E+308.
real:位數為24,用4個位元組,數字范圍:-3.04E+38至3.04E+38
第四大類:日期時間數據
datatime:表示時間范圍可以表示從1753/1/1至9999/12/31,時間可以表示到3.33/1000秒.使用8個位元組.
smalldatetime:表示時間范圍可以表示從1900/1/1至2079/12/31.使用4個位元組.
第五大類:字元串數據
char:長度是設定的,最短為1位元組,最長為8000個位元組.不足的長度會用空白補上.
varchar:長度也是設定的,最短為1位元組,最長為8000個位元組,尾部的空白會去掉.
text:長寬也是設定的,最長可以存放2G的數據.
第六大類:Unincode字元串數據
nchar:長度是設定的,最短為1位元組,最長為4000個位元組.不足的長度會用空白補上.儲存一個字元需要2個位元組.
nvarchar:長度是設定的,最短為1位元組,最長為4000個位元組.尾部的空白會去掉.儲存一個字元需要2個位元組.
ntext:長度是設定的,最短為1位元組,最長為2G.尾部的空白會去掉,儲存一個字元需要2個位元組.
第七大類:貨幣數據類型
money:記錄金額范圍為:-92233720368577.5808至92233720368577.5807.需要8 個位元組.
smallmoney:記錄金額范圍為:-214748.3648至214748.36487.需要4個位元組.
第八大類:標記數據
timestamp:該數據類型在每一個表中是唯一的!當表中的一個記錄更改時,該記錄的timestamp欄位會自動更新.
uniqueidentifier:用於識別資料庫裡面許多個表的唯一一個記錄.
第九大類:二進制碼字元串數據
binary:固定長度的二進制碼字元串欄位,最短為1,最長為8000.
varbinary:與binary差異為數據尾部是00時,varbinary會將其去掉
image:為可變長度的二進制碼字元串,最長2G.

Ⅳ sql server 貨幣 欄位 類型 一般用什麼類型

貨幣的欄位類型一般有int,float,money/smallmoney,decimal/numberic。

根據存儲數據的精度不同選擇:

int只能存儲整數的錢。

money/smallmoney數據類型精確到它們所代表的貨幣單位的萬分之一 。

decimal/numberic 可以自定義小數位和能存儲的數據精度, 所以一般使用這種類型的人會多一些。

float 對貨幣這種需要精確值的數值不合適。

總結:

在財務方面最好實用money與decimal類型。

如果是簡單的計算可以使用float類型,不過float類型在有些平台上取出數據並不是那麼准確,有可能會丟失精度。所以說如果在性能穩定的平台中,開銷不是很大,建議使用以上兩種類型。

(5)sqlserver貨幣類型和數字類型區別擴展閱讀:

SQL數據類型:

1、bit 整型

bit數據類型是整型,其值只能是0、1或空值。這種數據類型用於存儲只有兩種可能值的數據,如Yes 或No、True 或False 、On 或Off.

注意:很省空間的一種數據類型,如果能夠滿足需求應該盡量多用。

2、tinyint 整型

tinyint 數據類型能存儲從0到255 之間的整數。它在你只打算存儲有限數目的數值時很有用。這種數據類型在資料庫中佔用1 個位元組。

3、smallint 整型

smallint 數據類型可以存儲從- 2的15次冪(-32768)到2的15次冪(32767)之間的整數。這種數據類型對存儲一些常限定在特定范圍內的數值型數據非常有用。這種數據類型在資料庫里佔用2 位元組空間。

4、int 整型

int 數據類型可以存儲從- 2的31次冪(-2147483648)到2的31次冪 (2147483 647)之間的整數。存儲到資料庫的幾乎所有數值型的數據都可以用這種數據類型。這種數據類型在資料庫里佔用4個位元組。

5、decimal 精確數值型

decimal 數據類型能用來存儲從-10的38次冪-1到10的38次冪-1的固定精度和范圍的數值型數據。使用這種數據類型時,必須指定范圍和精度。 范圍是小數點左右所能存儲的數字的總位數。精度是小數點右邊存儲的數字的位數。

6、numeric 精確數值型

numeric數據類型與decimal 相似。

7、smallmoney 貨幣型

smallmoney 數據類型用來表示錢和貨幣值。這種數據類型能存儲從-214748.3648 到214748.3647 之間的數據,精確到貨幣單位的萬分之一。

8、money 貨幣型

money數據類型用來表示錢和貨幣值。這種數據類型能存儲從-9220億到9220 億之間的數據,精確到貨幣單位的萬分之一。

9、float 近似數值型

float 數據類型是一種近似數值類型,供浮點數使用。說浮點數是近似的,是因為在其范圍內不是所有的數都能精確表示。浮點數可以是從-1.79E+308到1.79E+308 之間的任意數。

10、real 近似數值型

real 數據類型像浮點數一樣,是近似數值類型。它可以表示數值在-3.40E+38到3.40E+38之間的浮點數。

Ⅵ SQLSERVER數字類型用什麼表示

數字有很多類型,那麼通常的數字類型有如下一些:
整型,也就是整數:int,bigint,smallint,tinyint等
小數:float,numeric(整數位數,小數位數),decimal(整數位數,小數位數)

Ⅶ sql server有幾種數據類型

bit 整型 bit 數據類型是整型,其值只能是0、1或空值。這種數據類型用於存儲只有兩種可能值的數據,如Yes 或No、True 或Fa lse 、On 或Off

int 整型 int 數據類型可以存儲從- 231(-2147483648)到231 (2147483 647)之間的整數。存儲到資料庫的幾乎所有數值型的數據都可以用這種數據類型。這種數據類型在資料庫里佔用4個位元組

smallint 整型 smallint 數據類型可以存儲從- 215(-32768)到215(32767)之間的整數。這種數據類型對存儲一些常限定在特定范圍內的數值型數據非常有用。這種數據類型在資料庫里佔用2 位元組空間

tinyint 整型 tinyint 數據類型能存儲從0到255 之間的整數。它在你只打算存儲有限數目的數值時很有用。 這種數據類型在資料庫中佔用1 個位元組
numeric 精確數值型 numeric數據類型與decimal 型相同

decimal 精確數值型 decimal 數據類型能用來存儲從-1038-1到1038-1的固定精度和范圍的數值型數據。使用這種數據類型時,必須指定范圍和精度。 范圍是小數點左右所能存儲的數字的總位數。精度是小數點右邊存儲的數字的位數

money 貨幣型 money 數據類型用來表示錢和貨幣值。這種數據類型能存儲從-9220億到9220 億之間的數據,精確到貨幣單位的萬分之一

smallmoney 貨幣型 smallmoney 數據類型用來表示錢和貨幣值。這種數據類型能存儲從-214748.3648 到214748.3647 之間的數據,精確到貨幣單位的萬分之一

float 近似數值型 float 數據類型是一種近似數值類型,供浮點數使用。說浮點數是近似的,是因為在其范圍內不是所有的數都能精確表示。浮點數可以是從-1.79E+308到1.79E+308 之間的任意數

real 近似數值型 real 數據類型像浮點數一樣,是近似數值類型。它可以表示數值在-3.40E+38到3.40E+38之間的浮點數

datetime 日期時間型 datetime數據類型用來表示日期和時間。這種數據類型存儲從1753年1月1日到9999年12月3 1日間所有的日期和時間數據, 精確到三百分之一秒或3.33毫秒

Smalldatetime 日期時間型 smalldatetime 數據類型用來表示從1900年1月1日到2079年6月6日間的日期和時間,精確到一分鍾

cursor 特殊數據型 cursor 數據類型是一種特殊的數據類型,它包含一個對游標的引用。這種數據類型用在存儲過程中,而且創建表時不能用

timestamp 特殊數據型 timestamp 數據類型是一種特殊的數據類型,用來創建一個資料庫范圍內的唯一數碼。 一個表中只能有一個timestamp列。每次插入或修改一行時,

timestamp列的值都會改變。盡管它的名字中有「time」, 但timestamp列不是人們可識別的日期。在一個資料庫里,timestamp值是唯一的

Uniqueidentifier 特殊數據型 Uniqueidentifier數據類型用來存儲一個全局唯一標識符,即GUID。GUID確實是全局唯一的。這個數幾乎沒有機會在另一個系統中被重建。可以使用NEWID 函數或轉換一個字元串為唯一標識符來初始化具有唯一標識符的列

char 字元型 char數據類型用來存儲指定長度的定長非統一編碼型的數據。當定義一列為此類型時,你必須指定列長。當你總能知道要存儲的數據的長度時,此數據類型很有用。例如,當你按郵政編碼加4個字元格式來存儲數據時,你知道總要用到10個字元。此數據類型的列寬最大為8000 個字元

varchar 字元型 varchar數據類型,同char類型一樣,用來存儲非統一編碼型字元數據。與char 型不一樣,此數據類型為變長。當定義一列為該數據類型時,你要指定該列的最大長度。 它與char數據類型最大的區別是,存儲的長度不是列長,而是數據的長度

text 字元型 text 數據類型用來存儲大量的非統一編碼型字元數據。這種數據類型最多可以有231-1或20億個字元

nchar 統一編碼字元型 nchar 數據類型用來存儲定長統一編碼字元型數據。統一編碼用雙位元組結構來存儲每個字元,而不是用單位元組(普通文本中的情況)。它允許大量的擴展字元。此數據類型能存儲4000種字元,使用的位元組空間上增加了一倍

nvarchar 統一編碼字元型 nvarchar 數據類型用作變長的統一編碼字元型數據。此數據類型能存儲4000種字元,使用的位元組空間增加了一倍

ntext 統一編碼字元型 ntext 數據類型用來存儲大量的統一編碼字元型數據。這種數據類型能存儲230 -1或將近10億個字元,且使用的位元組空間增加了一倍

binary 二進制數據類型 binary數據類型用來存儲可達8000 位元組長的定長的二進制數據。當輸入表的內容接近相同的長度時,你應該使用這種數據類型

varbinary 二進制數據類型 varbinary 數據類型用來存儲可達8000 位元組長的變長的二進制數據。當輸入表的內容大小可變時,你應該使用這種數據類型

image 二進制數據類型 image 數據類型用來存儲變長的二進制數據,最大可達231-1或大約20億位元組
 
SQL SERVER的數據類型

數據類弄是數據的一種屬性,表示數據所表示信息的類型。任何一種計算機語言都定義了自己的數據類型。當然,不同的程序語言都具有不同的特點,所定義的數據類型的各類和名稱都或多或少有些不同。SQLServer 提供了 25 種數據類型:
·Binary [(n)]
·Varbinary [(n)]
·Char [(n)]
·Varchar[(n)]
·Nchar[(n)]
·Nvarchar[(n)]
·Datetime
·Smalldatetime
·Decimal[(p[,s])]
·Numeric[(p[,s])]
·Float[(n)]
·Real
·Int
·Smallint
·Tinyint
·Money
·Smallmoney
·Bit
·Cursor
·Sysname
·Timestamp
·Uniqueidentifier
·Text
·Image
·Ntext
(1)二進制數據類型

二進制數據包括 Binary、Varbinary 和 Image
Binary 數據類型既可以是固定長度的(Binary),也可以是變長度的。
Binary[(n)] 是 n 位固定的二進制數據。其中,n 的取值范圍是從 1 到 8000。其存儲窨的大小是 n + 4 個位元組。
Varbinary[(n)] 是 n 位變長度的二進制數據。其中,n 的取值范圍是從 1 到 8000。其存儲窨的大小是 n + 4個位元組,不是n 個位元組。
在 Image 數據類型中存儲的數據是以位字元串存儲的,不是由 SQL Server 解釋的,必須由應用程序來解釋。例如,應用程序可以使用BMP、TIEF、GIF 和 JPEG 格式把數據存儲在 Image 數據類型中。
(2)字元數據類型

字元數據的類型包括 Char,Varchar 和 Text
字元數據是由任何字母、符號和數字任意組合而成的數據。
Varchar 是變長字元數據,其長度不超過 8KB。Char 是定長字元數據,其長度最多為 8KB。超過 8KB 的ASCII 數據可以使用Text數據類型存儲。例如,因為 Html 文檔全部都是 ASCII 字元,並且在一般情況下長度超過 8KB,所以這些文檔可以 Text 數據類型存儲在SQL Server 中。
(3)Unicode 數據類型

Unicode 數據類型包括 Nchar,Nvarchar 和Ntext
在 Microsoft SQL Server 中,傳統的非 Unicode 數據類型允許使用由特定字元集定義的字元。在 SQL Server安裝過程中,允許選擇一種字元集。使用 Unicode 數據類型,列中可以存儲任何由Unicode 標準定義的字元。在 Unicode 標准中,包括了以各種字元集定義的全部字元。使用Unicode數據類型,所戰勝的窨是使用非 Unicode 數據類型所佔用的窨大小的兩倍。
在 SQL Server 中,Unicode 數據以 Nchar、Nvarchar 和 Ntext 數據類型存儲。使用這種字元類型存儲的列可以存儲多個字元集中的字元。當列的長度變化時,應該使用Nvarchar 字元類型,這時最多可以存儲 4000 個字元。當列的長度固定不變時,應該使用 Nchar 字元類型,同樣,這時最多可以存儲4000 個字元。當使用 Ntext 數據類型時,該列可以存儲多於 4000 個字元。
(4)日期和時間數據類型

日期和時間數據類型包括 Datetime 和 Smalldatetime兩種類型
日期和時間數據類型由有效的日期和時間組成。例如,有效的日期和時間數據包括「4/01/98 12:15:00:00:00 PM」和「1:28:29:15:01AM 8/17/98」。前一個數據類型是日期在前,時間在後一個數據類型是霎時間在前,日期在後。在 Microsoft SQL Server中,日期和時間數據類型包括Datetime 和 Smalldatetime 兩種類型時,所存儲的日期范圍是從 1753 年 1 月 1 日開始,到9999 年12 月 31 日結束(每一個值要求 8 個存儲位元組)。使用 Smalldatetime 數據類型時,所存儲的日期范圍是 1900年 1 月 1日 開始,到 2079 年 12 月 31 日結束(每一個值要求 4 個存儲位元組)。
日期的格式可以設定。設置日期格式的命令如下:
Set DateFormat {format | @format _var|
其中,format | @format_var 是日期的順序。有效的參數包括 MDY、DMY、YMD、YDM、MYD 和 DYM。在默認情況下,日期格式為MDY。
例如,當執行 Set DateFormat YMD 之後,日期的格式為年 月 日 形式;當執行 Set DateFormat DMY 之後,日期的格式為日 月有年 形式
(5)數字數據類型

數字數據只包含數字。數字數據類型包括正數和負數、小數(浮點數)和整數
整數由正整數和負整數組成,例如 39、25、0-2 和 33967。在 Micrsoft SQL Server 中,整數存儲的數據類型是 Int,Smallint和 Tinyint。Int 數據類型存儲數據的范圍大於 Smallint 數據類型存儲數據的范圍,而 Smallint 據類型存儲數據的范圍大於Tinyint 數據類型存儲數據的范圍。使用 Int 數據狗昔存儲數據的范圍是從 -2 147 483 648 到 2 147 483 647(每一個值要求4個位元組存儲空間)。使用 Smallint 數據類型時,存儲數據的范圍從 -32 768 到 32 767(每一個值要求2個位元組存儲空間)。使用Tinyint 數據類型時,存儲數據的范圍是從0 到255(每一個值要求1個位元組存儲空間)。
精確小婁數據在 SQL Server 中的數據類型是 Decimal 和 Numeric。這種數據所佔的存儲空間根據該數據的位數後的位數來確定。
在SQL Server 中,近似小數數據的數據類型是 Float 和 Real。例如,三分之一這個分數記作。3333333,當使用近似數據類型時能准確表示。因此,從系統中檢索到的數據可能與存儲在該列中數據不完全一樣。
(6)貨幣數據表示正的或者負的貨幣數量 。

在 Microsoft SQL Server 中,貨幣數據的數據類型是Money 和 Smallmoney
Money數據類型要求 8 個存儲位元組,Smallmoney 數據類型要求 4 個存儲位元組。

(7)特殊數據類型

特殊數據類型包括前面沒有提過的數據類型。特殊的數據類型有3種,即 Timestamp、Bit 和 Uniqueidentifier。
Timestamp 用於表示SQL Server 活動的先後順序,以二進投影的格式表示。Timestamp 數據與插入數據或者日期和時間沒有關系。
Bit 由 1 或者 0 組成。當表示真或者假、ON 或者 OFF 時,使用 Bit 數據類型。例如,詢問是否是每一次訪問的客戶機請求可以存儲在這種數據類型的列中。
Uniqueidentifier 由 16 位元組的十六進制數字組成,表示一個全局唯一的。當表的記錄行要求唯一時,GUID是非常有用。例如,在客戶標識號列使用這種數據類型可以區別不同的客戶。
2.用戶定義的數據類型

用戶定義的數據類型基於在 Microsoft SQL Server 中提供的數據類型。當幾個表中必須存儲同一種數據類型時,並且為保證這些列有相同的數據類型、長度和可空性時,可以使用用戶定義的數據類型。例如,可定義一種稱為 postal_code 的數據類型,它基於 Char 數據類型。
當創建用戶定義的數據類型時,必須提供三個數:數據類型的名稱、所基於的系統數據類型和數據類型的可空性。
(1)創建用戶定義的數據類型

創建用戶定義的數據類型可以使用 Transact-SQL 語句。系統存儲過程 sp_addtype 可以來創建用戶定義的數據類型。其語法形式如下:
sp_addtype {type},[,system_data_bype][,'null_type']
其中,type 是用戶定義的數據類型的名稱。system_data_type 是系統提供的數據類型,例如 Decimal、Int、Char 等等。 null_type 表示該數據類型是如何處理空值的,必須使用單引號引起來,例如'NULL'、'NOT NULL'或者'NONULL'。
例子:
Use cust
Exec sp_addtype ssn,'Varchar(11)',"Not Null'
創建一個用戶定義的數據類型 ssn,其基於的系統數據類型是變長為11 的字元,不允許空。
例子:
Use cust
Exec sp_addtype birthday,datetime,'Null'
創建一個用戶定義的數據類型 birthday,其基於的系統數據類型是 DateTime,允許空。
例子:
Use master
Exec sp_addtype telephone,'varchar(24),'Not Null'
Eexc sp_addtype fax,'varchar(24)','Null'
創建兩個數據類型,即 telephone 和 fax
(2)刪除用戶定義的數據類型

當用戶定義的數據類型不需要時,可刪除。刪除用戶定義的數據類型的命令是 sp_droptype {'type'}。
例子:
Use master
Exec sp_droptype 'ssn'
注意:當表中的列還正在使用用戶定義的數據類型時,或者在其上面還綁定有默認或者規則時,這種用戶定義的數據類型不能刪除。
SQL SERVER的欄位類型說明

以下為SQL SERVER7.0以上版本的欄位類型說明。SQL SERVER6.5的欄位類型說明請參考SQL SERVER提供的說明。

欄位類型 描述
bit 0或1的整型數字
int 從-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型數字
smallint 從-2^15(-32,768)到2^15(32,767)的整型數字
tinyint 從0到255的整型數字

decimal 從-10^38到10^38-1的定精度與有效位數的數字
numeric decimal的同義詞

money 從-2^63(-922,337,203,685,477.5808)到2^63-1(922,337,203,685,477.5807)的貨幣數據,最小貨幣單位千分之十
smallmoney 從-214,748.3648到214,748.3647的貨幣數據,最小貨幣單位千分之十

float 從-1.79E+308到1.79E+308可變精度的數字
real 從-3.04E+38到3.04E+38可變精度的數字

datetime 從1753年1月1日到9999年12日31的日期和時間數據,最小時間單位為百分之三秒或3.33毫秒
smalldatetime 從1900年1月1日到2079年6月6日的日期和時間數據,最小時間單位為分鍾

timestamp 時間戳,一個資料庫寬度的唯一數字
uniqueidentifier 全球唯一標識符GUID

char 定長非Unicode的字元型數據,最大長度為8000
varchar 變長非Unicode的字元型數據,最大長度為8000
text 變長非Unicode的字元型數據,最大長度為2^31-1(2G)

nchar 定長Unicode的字元型數據,最大長度為8000
nvarchar 變長Unicode的字元型數據,最大長度為8000
ntext 變長Unicode的字元型數據,最大長度為2^31-1(2G)

binary 定長二進制數據,最大長度為8000
varbinary 變長二進制數據,最大長度為8000
image 變長二進制數據,最大長度為2^31-1(2G)
 

Ⅷ SQLServer 數據類型的區別


max在sqlserver中可以對任何欄位進行比較最大值,如果是字元型的話就是字元,數字,字母,文字,字元的具體順序的話沒有了解過,數字過0-9,字母a-z,文字要看有多少個字,然後按第一個字的開頭文字排序,如果第一個有重的然後再按第二個,以此類推,例欄位中有 * a z 林 夏那他的最大值為夏

Ⅸ sqlserver和oracle主要有什麼區別

1,oracle支持多種操作系統,sql server只支持windows。
2,oracle給dba更多的靈活性,可以根據實際情況調整參數,使你的應用的性能最佳,因而帶來一個缺點是很難上手;sql server則相反,當然很容易上手。
體系結構
oracle的文件體系結構為:
數據文件 .dbf(真實數據)
日誌文件 .rdo
控制文件 .ctl
參數文件 .ora
sql server的文件體系結構為:
.mdf (數據字典)
.ndf (數據文件)
.ldf (日誌文件)
www.2cto.com
oracle存儲結構:
在oracle里有兩個塊參數pctfree(填充因子)和pctused(復用因子),可控制塊確定塊本身何時有,何時沒有足夠的空間接受新信息(對塊的存儲情況的分析機制)
這樣可降低數據行連接與行遷移的可能性。塊的大小可設置(oltp塊和dss塊)
在oracle中,將連續的塊組成區,可動態分配區(區的分配可以是等額的也可以是自增長的)可減少空間分配次數
在oraclel里表可以分為多個段,段由多個區組成,每個段可指定分配在哪個表空間里(段的類型分為:數據段、索引段、回滾段、臨時段、cash段。oracle里還可對表進行分區,可按照用戶定義的業務規則、條件或規范,物理的分開磁碟上的數據。
這樣大大降低了磁碟爭用的可能性。
oracle有七個基本表空間:
·system表空間(存放數據字典和數據管理自身所需的信息)
·rbs回滾表空間
·temp臨時表空間
·tools互動式表空間
·users用戶默認表空間
·indx索引表空間
·dbsys福數據表空間
不同的數據分別放在不同的表空間(數據字典與真實數據分開存放),在oracle里基表(存儲系統參數信息)是加密存儲,任何人都無法訪問。只能通過用戶可視視圖查看。

sql server 存儲結構
以頁為最小分配單位,每個頁為8k(不可控制,缺乏對頁的存儲情況的分析機制),可將8個連續的頁的組成一個『擴展』,以進一步減少分配時所耗用的資源。(分配缺乏靈活性),在sql server里數據以表的方式存放,而表是存放在資料庫里。
sql server有五個基本資料庫: www.2cto.com
·master(數據字典)
·mode(存放樣版)
·tempdb(臨時資料庫)
·msdb(存放調度信息和日誌信息)
·pubs(示例資料庫)
真實數據與數據字典存放在一起。對系統參數信息無安全機制。

oracle登入管理:
·system/manager (初始帳戶)
·sys/change_on_nstall
·install/oracle(安裝帳戶)
·scott/tiger(示例資料庫,測試用)
在oracle里默認只有三個系統用戶,oracle是通過用戶登入。

sql server登入管理:
·sql server身份驗證
·windows 身份驗證
在sql server里是通過windows用戶帳戶或是用sql server身份驗證連接資料庫的。

sql不是一種語言,而是對oracle資料庫傳輸指令的一種方式。
sql中null既不是字元也不是數字,它是預設數據。oracle提供了nvl函數來解決。
oracle中的字元串連接為 string1‖string2 ,sql中為string1+string2.
集合操作:在sql中只有union(並操作),oracle中包含minus(差操作)、interect(交操作)、union(並操作)。

索引:sql的索引分為聚集索引和非聚集索引,還包括全文索引;
oracle的索引包括:b+樹索引,bitmap點陣圖索引,函數索引,反序索引,
主鍵索引,散列索引,本地索引。 www.2cto.com
oracle的數據類型比較復雜,有基本數據類型,衍生型,列對象型,表對象型,結構體型;

sql中的數據比較簡單,只有一些簡單的基本數據類型無法提供事務操作。
在sql中如果一個事務從開始執行到結束時了錯了,它就會回滾到開始之前;
在oracle中它採用的是定點回滾,就是該事務函數化和精確錯誤定位,用savepoint標記保存點,用rollback標記回滾錯誤的保存點。
在sql中循環只有while一種這用起來不靈活,在oracle中有多種循環(loop循環、while循環、for循環)。
在sql中游標的使用比較復雜,不能同時打開一個以上的游標,因為它只有一個全局變數@@fast_statues而且聲明游標也麻煩,關閉游標時也不清除內存的;oracle中游標是以提高速度全部統一的單項游標,可以允許多用戶非同步讀取,而且聲明比較簡單,就一句declare cursor游標名 is select 語句就可以了。
容錯機制:sql中的錯誤機制比較復雜,沒有提供錯誤描述;oracle中容錯類型有三種,一個是預定義錯誤,一個是非預定義錯誤,一個是用戶自定義,其中在自定義錯誤中它有兩個是在sql中不有的,那就是sqlcode 錯誤號、sqlerrm錯誤描述。

文件體系結構:sql中有.mdf(主要數據文件)、.ndf(擴展文件,可以有多個)、
.ldf(日誌文件,可以有多個,存放在聯機重做日誌數據,這里的日誌文件有一個缺點就是如果日誌文件已填小巧玲瓏的話,sql將自動停止運行並等待人工干預,所以要經常監控日誌的情況保證系統的穩定運行)。oracle中有.dbf(主要數據文件)、.rdo(日誌文件,用來做災難性的數據備份)、.ctl(控制文件,將資料庫的物理文件映射到了數據字典中的邏輯表空間和連機重做日誌文件上去,確保數據的一致性)、.ora(參數文件)。

sql只能是本機備份本機的資料庫,無法聯機備份,而且備份壓縮很低,佔用了大量空間;oracle提供了7種備份機制,具有聯機備份功能,有志門的備份機子。
oracle的日誌默認有3個,先寫入1號日誌,滿了後再寫入2號日誌,2號滿了再寫入3號日誌,3號滿了後oracle將自動備分1號日誌的內容,然後清空後寫入新的日誌信息,且oracle的日誌有多路復用功能,我們可以為日誌創建多個鏡像,把相同的日誌信息同時寫入多個日誌文件中,這樣可以防止磁碟損壞造成的數據丟失。
sql server對每個資料庫只能分配一個日誌文件。且當日誌填滿後,日誌將停止工作,等待人工干預,而無法自動重用。 www.2cto.com
oracle的控制文件記錄了資料庫文件的物理位置和有效性,在每次打開oracle系統都將自動對數據進行驗證,查看其有效性,防止數據的丟失,這體現了oracle對數據管理的嚴密性。
sql server無此安全機制,只用在使用到了資料庫的信息後,系統才去查找數據是否存在。
oracle的參數文件init.ora是可調的,既我們可以根據資料庫的規模調整oracle對系統資源的使用情況,以達到最合理的資源分配,讓oracle達到最佳的性能。

sql server的配置參數是內定的不可調整,它對系統資源的分配是固定的,不受擁護控制,因此無法同時處理大量用戶的需求,這限制了它只能作為中,小型資料庫。
oracle以塊為最小存儲單位,以區為單位分配空間,用戶可以根據需要自己定義塊的大小,且區可以按等額或遞增進行分配,這可以大大減少系統的i/o操作提高資料庫的性能。
sql server中以頁為單位或使用擴展類型以8頁為一單位進行空間分配而無法人工干預,當遇到頻繁存儲或大數據量存儲時,系統將頻繁進行i/o操作使工作效率低下。
oracle中的sql語句書寫規范且提供了完整的函數和數據類型。oracle提供了健全的錯誤機制,用戶可以輕松的獲得錯誤位置和錯誤原因而加以修改。用戶還可以自己定義所須的錯誤類型,用以檢查邏輯錯誤。oracle中對數據類型的轉換和游標的定義也十分方便。因此,我們對代碼的書寫和維護也比sql server方便許多。
sql server使用類c語言,不易維護和查看代碼。sql server包含的數據類型太少,無法定義結構體,數組,對象。sql server無法定義流程機制,類型轉換也極不方便,sql server中對游標定義十分復雜,且當用戶定義的多個游標同時打開時系統卻只有一個游標變數,這是sql server中一個嚴重的缺陷。

oracle中用戶可以根據數據需要在創建塊時定義填充因子(空閑空間的百分比)和復用因子(當塊的存儲數據所佔的空間下降到這個百分比之下時,塊才重新標記為可用)。用戶可以根據記錄變化頻率和數據量的大小設置合適的填充因子和空閑因子。

sql server只有填充因子,而它的定義與oracle剛好相反,它定義的是剩餘可用空間的百分比。而sql server中沒有復用因子,當頁中數據低於填充因子,但剩餘的空間已經不可能再插入新的數據,但頁還是標記為可用的,當系統要寫入新數據都要訪問這個頁而浪費時間,這種頁稱為廢頁,將使系統插入新數據時浪費大量時間查找可用的頁。

oracle在創建表時用戶可以精確定義數據存放的表空間,甚至可以把一張表分開存放在多個表空間中,這樣可以將數據量龐大的表按某些欄位分開存放,這將給查詢帶來極高的效率。
www.2cto.com
隨著信息技術的飛速發展,數據處理不僅在數量上要求越來越大,而且在質量上也要求越來越高。

操作系統的穩定對資料庫來說是十分緊要的,在資料庫可操作平台上,oracle可在所有主流平台上運行,oracle資料庫採用開放的策略目標,它使得客戶可以選擇一種最適合他們特定需要的解決方案。客戶可以利用很多種第三方應用程序、工具。對開發商來說是很大的支持。而sql server卻只能在windows上運行了,這個就顯得比較單調了,但sql sever在window平台上的表現,和windows操作系統的整體結合程度,使用方便性,和microsoft開發平台的整合性都比oracle強的很多。但windows操作系統的穩定性及可靠性大家是有目共睹的,再說microsoft公司的策略目標是將客戶都鎖定到windows平台的環境當中,只有隨著windows性能的改善,sql server才能進一步提高。從操作平台這點上oracle是完全優勝於sql server的了。
從資料上可以看到,oracle的安全認證獲得最高認證級別的iso標准認證,而sql server並沒有獲得什麼安全認證。這方面證明了oracle的安全性是高於sql server的。

購買一個產品,首先考慮的當然是產品的性能了,當考慮性能的同時當然少不了究竟要花多少錢在這產品也是個很關鍵的問題。要建立並運行一個資料庫系統。不僅僅包含最初購置軟體、硬體的費用,還包含了培訓及以後維護的費用。orcale資料庫的價格是遠比sql server資料庫要高,為什麼oracle資料庫比sql server資料庫價格上要高出那麼多,一方面oracle的初始花費相對較高,特別是在考慮工具軟體的時候,oracle很多工具軟體需要另外購買,與microsoft提供免費的sql server工具軟體相比,oracle更顯價格的不菲。但由於sql server只能在windows下運行的原因,普遍認為sql server資料庫的可靠性是比較差的。oracle的性能優勢體現在他的多用戶上,而sql server的性能優勢在多用戶上就顯得力不從心了。

操作上sql server明顯要比orcale簡單,如果你用過java和dotnet的開發平台,區別的基本就是oracle和sql server不同,oracle的界面基本是基於java的,大部分的工具是dos界面的,甚至sqlplus也是, sql server是跟vb一樣,全圖形界面,很少見到dos窗口。sql server中的企業管理器給用戶提供一個全圖形界面的集成管理控制台來集中管理多個伺服器。oracle也有自己的企業管理器,而且它的性能在某些方面甚至超過了sql server的企業管理器,但它安裝較為困難。
orcale資料庫和sql server資料庫那個更快?其實是一個很難答的問題,因為存在許多不定因素,包括處理類型、數據分布以及硬體基礎設施等。
sql server 2000是一個具備完全web支持的資料庫產品,提供了可擴展標記語言核心支持以及internet上和防火牆外進行查詢的能力,具有可伸縮性、靈活性、擴充性好,而且價格便宜等特點,而oracle則有著可靠安全性,速度比sql server快上百倍,但其價格在實施中卻比sql server它高出了幾百倍。
其實各行業考慮選擇那種資料庫,是由資料庫的特點以及根據自己的業務需求和基礎設施綜合考慮來決定的。

Ⅹ Access中數字和貨幣數據類型下的格式屬性的區別

下面我們來看看這些格式的區別,如下表:

設置
說明
示例

常規數字 (默認值)按原樣顯示輸入的數字。 3456.789
貨幣 使用千位分隔符;對於負數、小數以及貨幣符號、小數點位置按照 Windows「控制面板」中的設置。 ¥3,457
歐元 使用歐元符號 ( €),不考慮 Windows 的「區域設置」中指定的貨幣符號。 €3,456.79
固定 至少顯示一位數字,對於負數、小數以及貨幣符號、小數點位置按照 Windows「控制面板」中的設置。 3456.79
標准 使用千位分隔符;對於負數、小數符號以及小數點位置,遵循 Windows 的區域設置中指定的設置。 3,456.79
百分比 乘以 100 再加上百分號 (%);對於負數、小數以及貨幣符號、小數點位置按照 Windows「控制面板」中的設置。 123.00%
科學記數 使用標準的科學記數法。 3.46E+03

熱點內容
百度旗下的區塊鏈 發布:2024-05-02 20:30:23 瀏覽:743
幣圈fud什麼意思 發布:2024-05-02 20:28:32 瀏覽:23
挖礦app怎麼掙錢 發布:2024-05-02 20:06:50 瀏覽:341
圓明公益區塊鏈是什麼組織 發布:2024-05-02 18:20:02 瀏覽:155
ecc環保區塊鏈 發布:2024-05-02 18:16:44 瀏覽:930
區塊鏈對藝術品保護有重要意義 發布:2024-05-02 18:16:42 瀏覽:854
比特幣雲礦機官方下載 發布:2024-05-02 18:16:02 瀏覽:769
幣圈可以長期投資嗎 發布:2024-05-02 18:02:30 瀏覽:146
永恆之藍支付比特幣 發布:2024-05-02 18:00:13 瀏覽:56
電信的合約機不能停怎麼辦 發布:2024-05-02 17:19:09 瀏覽:939