當前位置:首頁 » 編程語言 » sql中各種單位的數據類型
擴展閱讀
微信截圖如何刪除 2022-08-13 00:14:12
d5600wifi 2022-08-13 00:13:11
大疆御wifi 2022-08-13 00:12:47

sql中各種單位的數據類型

發布時間: 2022-06-26 22:23:56

sql資料庫中常用的數據類型有什麼

一、整數數據類型:整數數據類型是最常用的數據類型之一。

1、INT(INTEGER)

INT (或INTEGER)數據類型存儲從-2的31次方 (-2 ,147 ,483 ,648) 到2的31次方-1 (2 ,147 ,483,647) 之間的所有正負整數。每個INT 類型的數據按4 個位元組存儲,其中1 位表示整數值的正負號,其它31 位表示整數值的長度和大小。

2、SMALLINT

SMALLINT 數據類型存儲從-2的15次方( -32, 768) 到2的15次方-1( 32 ,767 )之間的所有正負整數。每個SMALLINT 類型的數據佔用2 個位元組的存儲空間,其中1 位表示整數值的正負號,其它15 位表示整數值的長度和大小。

二、浮點數據類型:浮點數據類型用於存儲十進制小數。浮點數值的數據在SQL Server 中採用上舍入(Round up 或稱為只入不舍)方式進行存儲。

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 個位元組存儲它。

三、二進制數據類型

1、BINARY

BINARY 數據類型用於存儲二進制數據。其定義形式為BINARY( n), n 表示數據的長度,取值為1 到8000 。在使用時必須指定BINARY 類型數據的大小,至少應為1 個位元組。BINARY 類型數據佔用n+4 個位元組的存儲空間。

在輸入數據時必須在數據前加上字元「0X」 作為二進制標識,如:要輸入「abc 」則應輸入「0xabc 」。若輸入的數據過長將會截掉其超出部分。若輸入的數據位數為奇數,則會在起始符號「0X 」後添加一個0,如上述的「0xabc 」會被系統自動變為「0x0abc」。

2、VARBINARY

VARBINARY數據類型的定義形式為VARBINARY(n)。 它與BINARY 類型相似,n 的取值也為1 到8000, 若輸入的數據過長,將會截掉其超出部分。

不同的是VARBINARY數據類型具有變動長度的特性,因為VARBINARY數據類型的存儲長度為實際數值長度+4個位元組。當BINARY數據類型允許NULL 值時,將被視為VARBINARY數據類型。

四、邏輯數據類型

1、BIT:BIT數據類型佔用1 個位元組的存儲空間,其值為0 或1 。如果輸入0 或1 以外的值,將被視為1。 BIT 類型不能定義為NULL 值(所謂NULL 值是指空值或無意義的值)。

五、字元數據類型:字元數據類型是使用最多的數據類型。它可以用來存儲各種字母、數字元號、特殊符號。一般情況下,使用字元類型數據時須在其前後加上單引號』或雙引號」 。

1、CHAR

CHAR 數據類型的定義形式為CHAR[ (n) ]。 以CHAR 類型存儲的每個字元和符號佔一個位元組的存儲空間。n 表示所有字元所佔的存儲空間,n 的取值為1 到8000, 即可容納8000 個ANSI 字元。

若不指定n 值,則系統默認值為1。 若輸入數據的字元數小於n,則系統自動在其後添加空格來填滿設定好的空間。若輸入的數據過長,將會截掉其超出部分。

(1)sql中各種單位的數據類型擴展閱讀:

SQL包括了所有對資料庫的操作,主要是由4個部分組成:

1、數據定義:這一部分又稱為「SQL DDL」,定義資料庫的邏輯結構,包括定義資料庫、基本表、視圖和索引4部分。

2、數據操縱:這一部分又稱為「SQL DML」,其中包括數據查詢和數據更新兩大類操作,其中數據更新又包括插入、刪除和更新三種操作。

3、數據控制:對用戶訪問數據的控制有基本表和視圖的授權、完整性規則的描述,事務控制語句等。

4、嵌入式SQL語言的使用規定:規定SQL語句在宿主語言的程序中使用的規則。

㈡ 資料庫中所有的數據類型

SQL 用於各種資料庫的數據類型:

一、MySQL 數據類型:

在 MySQL 中,有三種主要的類型:Text(文本)、Number(數字)和 Date/Time(日期/時間)類型。

1、Text 類型。

㈢ SQL server 常用基本數據類型有哪些

一、
整數數據類型
整數數據類型是最常用的數據類型之一。
1、int
(integer)
2、smallint
3、tinyint
4、bigint
二、
浮點數據類型
浮點數據類型用於存儲十進制小數。浮點數值的數據在sql
server
中採用上舍入(round
up
或稱為只入不舍)方式進行存儲。所謂上舍入是指,當(且僅當)要舍入的數是一個非零數時,對其保留數字部分的最低有效位上的數值加1
,並進行必要的進位。若一個數是上舍入數,其絕對值不會減少。如:對3.14159265358979
分別進行2
位和12位舍入,結果為3.15
和3.141592653590。
1、real
數據類型
2、float
3、decimal
4、numeric
三、二進制數據類型
1、binary
2、varbinary
四、
邏輯數據類型
bit:
bit數據類型佔用1
個位元組的存儲空間,其值為0
或1
。如果輸入0
或1
以外的值,將被視為1。
bit
類型不能定義為null
值(所謂null
值是指空值或無意義的值)。
五、字元數據類型
字元數據類型是使用最多的數據類型。它可以用來存儲各種字母、數字元號、特殊符號。一般情況下,使用字元類型數據時須在其前後加上單引號』或雙引號」

1
char
2、nchar
3、varchar
4、nvarchar
六、文本和圖形數據類型
這類數據類型用於存儲大量的字元或二進制數據。
1、text
2
ntext
3
image
七、
日期和時間數據類型
1
datetime
2
smalldatetime
八、貨幣數據類型
1
money
2
smallmoney
smallmoney數據類型類似於money
類型,但其存儲的貨幣值范圍比money數據類型小,其取值從-214,748.3648到+214,748.3647,存儲空間為4
個位元組。
九、
特定數據類型
sql
server
中包含了一些用於數據存儲的特殊數據類型。
1
timestamp
十、用戶自定義數據類型
sysname
sysname
數據類型是系統提供給用戶的,便於用戶自定義數據類型。它被定義為nvarchar(128),即它可存儲128個unicode字元或256個一般字元。其具體使用方法請參見第7章「管理資料庫表」中的「自定義數據類型」章節。
十一、
新數據類型
sql
server
2000
中增加了3
種數據類型:bigint、sql_variant和table。其中bigint數據類型已在整數類型中介紹,下面介紹其餘兩種:
1
sql_variant
sql_variant數據類型可以存儲除文本、圖形數據(text、ntext、image)和timestamp類型數據外的其它任何合法的sql
server數據。此數據類型大大方便了sql
server的開發工作。
2
table
table
數據類型用於存儲對表或視圖處理後的結果集。這一新類型使得變數可以存儲一個表,從而使函數或過程返回查詢結果更加方便快、捷其、使用請參見第13章「游標、視圖和自定義函數」。

㈣ sql語言中,各種數據類型代表的含義是什麼

(1)數值型

數值是諸如32 或153.4 這樣的值。MySQL 支持科學表示法,科學表示法由整數或浮點數後跟「e」或「E」、一個符號(「+」或「-」)和一個整數指數來表示。1.24E+12 和23.47e-1 都是合法的科學表示法表示的數。而1.24E12 不是合法的,因為指數前的符號未給出。

浮點數由整數部分、一個小數點和小數部分組成。整數部分和小數部分可以分別為空,但不能同時為空。

數值前可放一個負號「-」以表示負值。

(2)字元(串)型

字元型(也叫字元串型,簡稱串)是諸如「Hello, world!」或「一個饅頭引起的血案」這樣的值,或者是電話號碼87398413這樣的值。既可用單引號也可用雙引號將串值括起來。

初學者往往分不清數值87398143和字元串87398143的區別。都是數字啊,怎麼一個要用數值型,一個要用字元型呢?關鍵就在於:數值型的87398143是要參與計算的,比如它是金融中的一個貨款總額;而字元型的87398143是不參與計算的,只是表示電話號碼,這樣的還有街道號碼、門牌號碼等等,它們都不參與計算。

(3)日期和時間型

日期和時間是一些諸如「2006-07-12」或「12:30:43」這樣的值。MySQL還支持日期/時間的組合,如「2006-07-12 12:30:43」。

(4)NULL值

NULL表示未知值。比如填寫表格中通訊地址不清楚留空不填寫,這就是NULL值。

我們用Create Table語句創建一個表,這個表中包含列的定義。例如我們在前面創建了一個joke表,這個表中有content和writer兩個列:

定義一個列的語法如下:

其中列名由col_name 給出。列名可最多包含64個字元,字元包括字母、數字、下劃線及美元符號。列名可以名字中合法的任何符號(包括數字)開頭。但列名不能完全由數字組成,因為那樣可能使其與數據分不開。MySQL保留諸如SELECT、DELETE和CREATE這樣的詞,這些詞不能用做列名,但是函數名(如POS 和MIN)是可以使用的。

列類型col_type表示列可存儲的特定值。列類型說明符還能表示存放在列中的值的最大長度。對於某些類型,可用一個數值明確地說明其長度。而另外一些值,其長度由類型名蘊含。例如,CHAR(10) 明確指定了10個字元的長度,而TINYBLOB值隱含最大長度為255個字元。有的類型說明符允許指定最大的顯示寬度(即顯示值時使用多少個字元)。浮點類型允許指定小數位數,所以能控制浮點數的精度值為多少。

可以在列類型之後指定可選的類型說明屬性,以及指定更多的常見屬性。屬性起修飾類型的作用,並更改其處理列值的方式,屬性有以下類型:

(1)專用屬性用於指定列。例如,UNSIGNED 屬性只針對整型,而BINARY屬性只用於CHAR 和VARCHAR。

(2)通用屬性除少數列之外可用於任意列。可以指定NULL 或NOT NULL 以表示某個列是否能夠存放NULL。還可以用DEFAULT,def_value 來表示在創建一個新行但未明確給出該列的值時,該列可賦予值def_value。def_value 必須為一個常量;它不能是表達式,也不能引用其他列。不能對BLOB 或TEXT 列指定預設值。

如果想給出多個列的專用屬性,可按任意順序指定它們,只要它們跟在列類型之後、通用屬性之前即可。類似地,如果需要給出多個通用屬性,也可按任意順序給出它們,只要將它們放在列類型和可能給出的列專用屬性之後即可。

2. MySQL的列(欄位)類型

資料庫中的每個表都是由一個或多個列(欄位)構成的。在用CREATE TABLE語句創建一個表時,要為每列(欄位)指定一個類型。列(欄位)的類型比數據類型更為細化,它精確地描述了給定表列(欄位)可能包含的值的種類,如是否帶小數、是否文字很多。

MySQL有整數和浮點數值的列類型,如表1所示。整數列類型可以有符號也可無符號。有一種特殊的屬性允許整數列值自動生成,這對需要唯一序列或標識號的應用系統來說是非常有用的。

類型 說明

TINYINT 非常小的整數

SMALLINT 較小整數

MEDIUMINT 中等大小整數

INT 標准整數

BIGINT 較大整數

FLOAT 單精度浮點數

DOUBLE 雙精度浮點數

DECIMAL 一個串的浮點數

表1:數值列類型

每種數值類型的名稱和取值范圍如表2所示。

類型說明 取值范圍

TINYINT[(M)] 有符號值:-128 到127

無符號值:0到255(0 到28 - 1)
SMALLINT[(M)] 有符號值:-32768 到32767(- 215 到215 - 1)
無符號值:0到65535(0 到21 6 - 1)

MEDIUMINT[(M)] 有符號值:-8388608 到8388607(- 22 3 到22 3 - 1 )
無符號值:0到16777215(0 到22 4 - 1)

INT[(M)] 有符號值:-2147683648 到2147683647(- 231 到231- 1)
無符號值:0到4294967295(0 到232-1)

BIGINT[(M)] 有符號值:-9223372036854775808 到 9223373036854775807(- 263到263-1)

無符號值:0到18446744073709551615(0到264 – 1)

FLOAT[(M, D)] 最小非零值:±1.175494351E - 38

DOUBLE[(M,D)] 最小非零值:±2.2250738585072014E - 308

DECIMAL (M, D) 可變;其值的范圍依賴於M 和D

表2:數值列類型的取值范圍

類型說明 存儲需求

TINYINT[(M)] 1位元組

SMALLINT[(M)] 2位元組

MEDIUMINT[(M)] 3位元組

INT[(M)] 4位元組

BIGINT[(M)] 8位元組

FLOAT[(M, D)] 4位元組

DOUBLE[(M, D)] 8位元組

DECIMAL (M, D) M位元組(MySQL < 3.23),M+2位元組(MySQL > 3.23 )

表3:數值列類型的存儲需求

MySQL提供了五種整型: TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT。INT為INTEGER的縮寫。這些類型在可表示的取值范圍上是不同的。整數列可定義為UNSIGNED從而禁用負值;這使列的取值范圍為0以上。各種類型的存儲量需求也是不同的。取值范圍較大的類型所需的存儲量較大。

MySQL 提供三種浮點類型: FLOAT、DOUBLE和DECIMAL。與整型不同,浮點類型不能是UNSIGNED的,其取值范圍也與整型不同,這種不同不僅在於這些類型有最大值,而且還有最小非零值。最小值提供了相應類型精度的一種度量,這對於記錄科學數據來說是非常重要的(當然,也有負的最大和最小值)。

在選擇了某種數值類型時,應該考慮所要表示的值的范圍,只需選擇能覆蓋要取值的范圍的最小類型即可。選擇較大類型會對空間造成浪費,使表不必要地增大,處理起來沒有選擇較小類型那樣有效。對於整型值,如果數據取值范圍較小,如人員年齡或兄弟姐妹數,則TINYINT最合適。MEDIUMINT能夠表示數百萬的值並且可用於更多類型的值,但存儲代價較大。BIGINT在全部整型中取值范圍最大,而且需要的存儲空間是表示範圍次大的整型INT類型的兩倍,因此只在確實需要時才用。對於浮點值,DOUBLE佔用FLOAT的兩倍空間。除非特別需要高精度或范圍極大的值,一般應使用只用一半存儲代價的FLOAT型來表示數據。

在定義整型列時,可以指定可選的顯示尺寸M。如果這樣,M應該是一個1 到255的整數。它表示用來顯示列中值的字元數。例如,MEDIUMINT(4)指定了一個具有4個字元顯示寬度的MEDIUMINT列。如果定義了一個沒有明確寬度的整數列,將會自動分配給它一個預設的寬度。預設值為每種類型的「最長」值的長度。如果某個特定值的可列印表示需要不止M個字元,則顯示完全的值;不會將值截斷以適合M個字元。

對每種浮點類型,可指定一個最大的顯示尺寸M 和小數位數D。M 的值應該取1 到255。D的值可為0 到3 0,但是不應大於M - 2(如果熟悉ODBC 術語,就會知道M 和D 對應於ODBC 概念的「精度」和「小數點位數」)。M和D對FLOAT和DOUBLE 都是可選的,但對於DECIMAL是必須的。在選項M 和D時,如果省略了它們,則使用預設值。

2.2字元串列類型

MySQL提供了幾種存放字元數據的串類型,其類型如下:

類型名 說明

CHAR 定長字元串

VARCHAR 可變長字元串

TINYBLOB 非常小的BLOB(二進制大對象)

BLOB 小BLOB

MEDIUMBLOB 中等的BLOB

LONGBLOB 大BLOB

TINYTEXT 非常小的文本串

TEXT 小文本串

MEDIUMTEXT 中等文本串

LONGTEXT 大文本串

ENUM 枚舉;列可賦予某個枚舉成員

SET 集合;列可賦予多個集合成員

表4:字元串列類型

下表給出了MySQL 定義串值列的類型,以及每種類型的最大尺寸和存儲需求。對於可變長的列類型,各行的值所佔的存儲量是不同的,這取決於實際存放在列中的值的長度。這個長度在表中用L 表示。

類型說明

最大尺寸

存儲需求

CHAR( M)

M 位元組

M 位元組

VARCHAR(M)

M 位元組

L + 1位元組

TINYBLOB, TINYTEXT

28- 1位元組

L + 1位元組

BLOB, TEXT

216 - 1 位元組

L + 2位元組

MEDIUMBLOB, MEDIUMTEXT

224- 1位元組

L + 3位元組

LONGBLOB, LONGTEXT

232- 1位元組

L + 4位元組

ENUM(「value1」, 「value2」, ...)

65535 個成員

1 或2位元組

SET (「value1」, 「value2」, ...)

64個成員

1、2、3、4 或8位元組

表5:串列類型最大尺寸及存儲需求

L 以外所需的額外位元組為存放該值的長度所需的位元組數。MySQL 通過存儲值的內容及其長度來處理可變長度的值。這些額外的位元組是無符號整數。請注意,可變長類型的最大長度、此類型所需的額外位元組數以及佔用相同位元組數的無符號整數之間的對應關系。例如,MEDIUMBLOB 值可能最多224 - 1位元組長並需要3 個位元組記錄其結果。3 個位元組的整數類型MEDIUMINT 的最大無符號值為224 - 1。這並非偶然。

2.3日期時間列類型

MySQL 提供了幾種時間值的列類型,它們分別是: DATE、DATETIME、TIME、TIMESTAMP和YEAR。下表給出了MySQL 為定義存儲日期和時間值所提供的這些類型,並給出了每種類型的合法取值范圍。

類型名 說明

DATE 「YYYY-MM-DD」格式表示的日期值

TIME 「hh:mm:ss」格式表示的時間值

DATETIME 「YYYY-MM-DD hh:mm:ss」格式

TIMESTAMP 「YYYYMMDDhhmmss」格式表示的時間戳值

YEAR 「YYYY」格式的年份值

表6:日期時間列類型

下面舉個例子:

這個例子創建一個student表,這個表中有name欄位,字元類型列,不允許NULL(空值)。有Chinese、Maths和English三個整數類型列。還有個Birthday日期類型列。

CREATE TABLE student
(
Name varchar(20) NOT NULL,
Chinese TINYINT(3),
Maths TINYINT(3),
English TINYINT(3),
Birthday DATE

)

㈤ sql server中創建表時各個數據類型時什麼意思

SQL Server 數據類型分類及含義如下:

1、Character 字元串:

(5)sql中各種單位的數據類型擴展閱讀:

關於SQL數據類型的特徵解析:

在 SQL Server 中,每個列、局部變數、表達式和參數都具有一個相關的數據類型。 數據類型是一種屬性,用於指定對象可保存的數據的類型:整數數據、字元數據、貨幣數據、日期和時間數據、二進制字元串等。

當兩個具有不同數據類型、排序規則、精度、小數位數或長度的表達式通過運算符進行組合時,結果的特徵由以下規則確定:

1、結果的數據類型是通過將數據類型的優先順序規則應用到輸入表達式的數據類型來確定的。 有關詳細信息,請參閱數據類型優先順序 (Transact-SQL)。

2、當結果數據類型為 char、varchar、text、nchar、nvarchar 或 ntext 時,結果的排序規則由排序規則的優先順序規則確定。 有關詳細信息,請參閱排序規則優先順序 (Transact-SQL)。

3、結果的精度、小數位數及長度取決於輸入表達式的精度、小數位數及長度。 有關詳細信息,請參閱精度、小數位數和長度 (Transact-SQL)。

㈥ 請問關於SQL內數據類型

SQLServer 提供了 25 種數據類型:

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 數據類型中。

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

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

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 之後,日期的格式為日 月有年 形式

Int,Smallint和 Tinyint:是數字數據類型
數字數據類型包括正數和負數、小數(浮點數)和整數
整數由正整數和負整數組成,例如 39、25、0-2 和 33967。在 Micrsoft SQL Server 中,整數存儲的數據類型是。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,當使用近似數據類型時能准確表示。因此,從系統中檢索到的數據可能與存儲在該列中數據不完全一樣。

Money 和 Smallmoney:是貨幣數據的數據類型
Money數據類型要求 8 個存儲位元組,Smallmoney 數據類型要求 4 個存儲位元組。

Timestamp、Bit 和 Uniqueidentifier:特殊數據類型
Timestamp 用於表示SQL Server 活動的先後順序,以二進投影的格式表示。Timestamp 數據與插入數據或者日期和時間沒有關系。
Bit 由 1 或者 0 組成。當表示真或者假、ON 或者 OFF 時,使用 Bit 數據類型。例如,詢問是否是每一次訪問的客戶機請求可以存儲在這種數據類型的列中。

用戶定義的數據類型基於在 Microsoft SQL Server 中提供的數據類型。當幾個表中必須存儲同一種數據類型時,並且為保證這些列有相同的數據類型、長度和可空性時,可以使用用戶定義的數據類型。例如,可定義一種稱為 postal_code 的數據類型,它基於 Char 數據類型。
當創建用戶定義的數據類型時,必須提供三個數:數據類型的名稱、所基於的系統數據類型和數據類型的可空性。
Uniqueidentifier 由 16 位元組的十六進制數字組成,表示一個全局唯一的。當表的記錄行要求唯一時,GUID是非常有用。例如,在客戶標識號列使用這種數據類型可以區別不同的客戶。

㈦ sql語句分幾類,sql資料庫都有哪幾種數據類型

一、 整數數據類型

整數數據類型是最常用的數據類型之一。

1、INT (INTEGER)

INT (或INTEGER)數據類型存儲從-2的31次方 (-2 ,147 ,483 ,648) 到2的31次方-1 (2 ,147 ,483,647) 之間的所有正負整數。每個INT 類型的數據按4 個位元組存儲,其中1 位表示整數值的正負號,其它31 位表示整數值的長度和大小。

2、SMALLINT

SMALLINT 數據類型存儲從-2的15次方( -32, 768) 到2的15次方-1( 32 ,767 )之間的所有正負整數。每個SMALLINT 類型的數據佔用2 個位元組的存儲空間,其中1 位表示整數值的正負號,其它15 位表示整數值的長度和大小。

3、TINYINT

TINYINT數據類型存儲從0 到255 之間的所有正整數。每個TINYINT類型的數據佔用1 個位元組的存儲空間。

4、BIGINT

BIGINT 數據類型存儲從-2^63 (-9 ,223, 372, 036, 854, 775, 807) 到2^63-1( 9, 223, 372, 036 ,854 ,775, 807) 之間的所有正負整數。每個BIGINT 類型的數據佔用8個位元組的存儲空間。

二、 浮點數據類型

浮點數據類型用於存儲十進制小數。浮點數值的數據在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 列出了各精確度所需的位元組數之間的關系。

㈧ SQL中數據類型有哪些

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

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

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

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

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

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

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

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

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

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

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

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

基本查詢
select column1,columns2,...
from table_name
說明:把table_name 的特定欄位資料全部列出來
select *
from table_name
where column1 = ***
[and column2 > yyy] [or column3 <> zzz]
說明:
1.'*'表示全部的欄位都列出來。
2.where 之後是接條件式,把符合條件的資料列出來。

select column1,column2
from table_name
order by column2 [desc]
說明:order by 是指定以某個欄位做排序,[desc]是指從大到小排列,若沒有指明,則是從小到大
排列

組合查詢
組合查詢是指所查詢得資料來源並不只有單一的表格,而是聯合一個以上的
表格才能夠得到結果的。
select *
from table1,table2
where table1.colum1=table2.column1
說明:
1.查詢兩個表格中其中 column1 值相同的資料。
2.當然兩個表格相互比較的欄位,其資料形態必須相同。
3.一個復雜的查詢其動用到的表格可能會很多個。

整合性的查詢:
select count (*)
from table_name
where column_name = ***
說明:
查詢符合條件的資料共有幾筆。
select sum(column1)
from table_name
說明:
1.計算出總和,所選的欄位必須是可數的數字形態。
2.除此以外還有 avg() 是計算平均、max()、min()計算最大最小值的整合性查詢。
select column1,avg(column2)
from table_name
group by column1
having avg(column2) > ***
說明:
1.group by: 以column1 為一組計算 column2 的平均值必須和 avg、sum等整合性查詢的關鍵字
一起使用。
2.having : 必須和 group by 一起使用作為整合性的限制。

復合性的查詢
select *
from table_name1
where exists (
select *<BR>from table_name2
where conditions )
說明:
1.where 的 conditions 可以是另外一個的 query。
2.exists 在此是指存在與否。
select *
from table_name1
where column1 in (
select column1
from table_name2
where conditions )
說明:
1. in 後面接的是一個集合,表示column1 存在集合裡面。
2. select 出來的資料形態必須符合 column1。

其他查詢
select *
from table_name1
where column1 like 'x%'
說明:like 必須和後面的'x%' 相呼應表示以 x為開頭的字串。
select *
from table_name1
where column1 in ('***','yyy',..)
說明:in 後面接的是一個集合,表示column1 存在集合裡面。
select *
from table_name1
where column1 between xx and yy
說明:between 表示 column1 的值介於 xx 和 yy 之間。

3、更改資料:
update table_name
set column1='***'
where conditoins
說明:
1.更改某個欄位設定其值為'***'。
2.conditions 是所要符合的條件、若沒有 where 則整個 table 的那個欄位都會全部被更改。

4、刪除資料:
delete from table_name
where conditions
說明:刪除符合條件的資料。

說明:關於where條件後面如果包含有日期的比較,不同資料庫有不同的表達式。具體如下:
(1)如果是access資料庫,則為:where mydate>#2000-01-01#
(2)如果是oracle資料庫,則為:where mydate>cast('2000-01-01' as date)
或:where mydate>to_date('2000-01-01','yyyy-mm-dd')
在delphi中寫成:
thedate='2000-01-01';
query1.sql.add('select * from abc where mydate>cast('+''''+thedate+''''+' as date)');

如果比較日期時間型,則為:
where mydatetime>to_date('2000-01-01 10:00:01','yyyy-mm-dd hh24:mi:ss')

4、增加資料:
insert into table_name (column1,column2,...)
values ( value1,value2, ...)
說明:
1.若沒有指定column 系統則會按表格內的欄位順序填入資料。
2.欄位的資料形態和所填入的資料必須吻合。
3.table_name 也可以是景觀 view_name。

insert into table_name (column1,column2,...)
select columnx,columny,... from another_table
說明:也可以經過一個子查詢(subquery)把別的表格的資料填入。

㈨ sql 中的數據類型有那些請講明白些

這個太多了,推薦你還是看看Sql Sever 2000的基礎教程
數據類型
在 Microsoft® SQL Server™ 中,每個列、局部變數、表達式和參數都有一個相關的數據類型,這是指定對象可持有的數據類型(整型、字元、money 等等)的特性。SQL Server 提供系統數據類型集,定義了可與 SQL Server 一起使用的所有數據類型。下面列出系統提供的數據類型集。

可以定義用戶定義的數據類型,其是系統提供的數據類型的別名。有關用戶定義的數據類型的更多信息,請參見 sp_addtype 和創建用戶定義的數據類型。

當兩個具有不同數據類型、排序規則、精度、小數位數或長度的表達式通過運算符進行組合時:

通過將數據類型的優先順序規則應用到輸入表達式的數據類型來確定所得值的數據類型。有關更多信息,請參見數據類型的優先順序。

如果結果數據類型為 char、varchar、text、nchar、nvarchar 或 ntext,則結果值的排序規則由排序規則的優先順序規則決定。有關更多信息,請參見排序規則的優先順序。

結果的精度、小數位數及長度取決於輸入表達式的精度、小數位數及長度。有關更多信息,請參見精度、小數位數和長度。
SQL Server 為 SQL-92 兼容性提供了數據類型同義詞。有關更多信息,請參見數據類型同義詞。

精確數字
整數
bigint

從 -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807) 的整型數據(所有數字)。

int

從 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型數據(所有數字)。

smallint

從 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型數據。

tinyint

從 0 到 255 的整數數據。

bit
bit

1 或 0 的整數數據。

decimal 和 numeric
decimal

從 -10^38 +1 到 10^38 –1 的固定精度和小數位的數字數據。

numeric

功能上等同於 decimal。

money 和 smallmoney
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 到 -2.23E - 308,0 和 2.23E + 308 到 1.79E + 308。

real

浮點精度數字數據,有效值為:從 -3.40E + 38 到 -1.18E - 38,0 和 1.18E - 38 到 3.40E + 38。

datetime 和 smalldatetime
datetime

從 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和時間數據,精確到百分之三秒(或 3.33 毫秒)。

smalldatetime

從 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和時間數據,精確到分鍾。

字元串
char

固定長度的非 Unicode 字元數據,最大長度為 8,000 個字元。

varchar

可變長度的非 Unicode 數據,最長為 8,000 個字元。

text

可變長度的非 Unicode 數據,最大長度為 2^31 - 1 (2,147,483,647) 個字元。

Unicode 字元串
nchar

固定長度的 Unicode 數據,最大長度為 4,000 個字元。

nvarchar

可變長度 Unicode 數據,其最大長度為 4,000 字元。sysname 是系統提供用戶定義的數據類型,在功能上等同於 nvarchar(128),用於引用資料庫對象名。

ntext

可變長度 Unicode 數據,其最大長度為 2^30 - 1 (1,073,741,823) 個字元。

二進制字元串
binary

固定長度的二進制數據,其最大長度為 8,000 個位元組。

varbinary

可變長度的二進制數據,其最大長度為 8,000 個位元組。

image

可變長度的二進制數據,其最大長度為 2^31 - 1 (2,147,483,647) 個位元組。

其它數據類型
cursor

游標的引用。

sql_variant

一種存儲 SQL Server 支持的各種數據類型(text、ntext、timestamp 和 sql_variant 除外)值的數據類型。

table

一種特殊的數據類型,存儲供以後處理的結果集。

timestamp

資料庫范圍的唯一數字,每次更新行時也進行更新。

uniqueidentifier

全局唯一標識符 (GUID)。
回答者:wfchenjin - 大魔法師 九級 3-10 17:48

--------------------------------------------------------------------------------

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)
回答者:mgc - 經理 五級 3-10 17:53

--------------------------------------------------------------------------------

表1顯示了數字數據類型;表2顯示了字元數據類型;表3顯示了日期和布爾數據類型。

表1 scalar types:numeric
datatype range subtypes description
binary_integer -214748-2147483647 natural
natural
npositive
positiven
signtype
用於存儲單位元組整數。
要求存儲長度低於number值。
用於限制范圍的子類型(subtype):
natural:用於非負數
positive:只用於正數
naturaln:只用於非負數和非null值
positiven:只用於正數,不能用於null值
signtype:只有值:-1、0或1.
number 1.0e-130-9.99e125 dec
decimal
double
precision
float
integeric
int
numeric
real
smallint 存儲數字值,包括整數和浮點數。可以選擇精度和刻度方式,語法:
number[([,])]。
預設的精度是38,scale是0.
pls_integer -2147483647-2147483647 與binary_integer基本相同,但採用機器運算時,pls_integer提供更好的性能 。

表2 字元數據類型
datatype rang subtype description
char 最大長度32767位元組 character 存儲定長字元串,如果長度沒有確定,預設是1
long 最大長度2147483647位元組 存儲可變長度字元串
raw 最大長度32767位元組 用於存儲二進制數據和位元組字元串,當在兩個資料庫之間進行傳遞時,raw數據不在字元集之間進行轉換。
longraw 最大長度2147483647 與long數據類型相似,同樣他也不能在字元集之間進行轉換。
rowid 18個位元組 與資料庫rowid偽列類型相同,能夠存儲一個行標示符,可以將行標示符看作資料庫中每一行的唯一鍵值。
varchar2 最大長度32767位元組 stringvarchar 與varchar數據類型相似,存儲可變長度的字元串。聲明方法與varchar相同

表3 date和boolean
datatype range description
boolean true/false 存儲邏輯值true或false,無參數
date 01/01/4712 bc 存儲固定長的日期和時間值,日期值中包含時間

㈩ SQL資料庫的數據類型有哪些,請詳細解釋一下

》SQL Server 中的數據類型歸納為下列類別:

精確數字
Unicode 字元串

近似數字

二進制字元串

日期和時間

其他數據類型

字元串

》在 SQL Server 中,根據其存儲特徵,某些數據類型被指定為屬於下列各組:

大值數據類型:varchar(max)、nvarchar(max) 和
varbinary(max)
大型對象數據類型:text、ntext、image、varchar(max)、nvarchar(max)、varbinary(max)
和 xml

》精確數字

bit(位)

tinyint(1個位元組)

smallint(2個位元組,-32767~32767)

int(4個位元組,-20億~20億)

bigint(8個位元組)

numeric

decimal

smallmoney

money

》近似數字

float
real

》日期和時間

date
smalldatetime(精確到分鍾)

datetime

datetime2

time

datetimeoffset(時間差)

》字元串

char
varchar

text

》Unicode 字元串

nchar
nvarchar

ntext

》二進制字元串

binary
varbinary

image