當前位置:首頁 » 編程語言 » sql大整數型標識
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql大整數型標識

發布時間: 2023-01-05 16:58:14

㈠ "integer"在sql資料庫中是什麼意思

integer在SQL資料庫中代表整型。

包含負整數、零和正整數。

整數的全體構成整數集,整數集是一個數環。在整數系中,零和正整數統稱為自然數。-1、-2、-3、…、-n、…(n為非零自然數)為負整數。則正整數、零與負整數構成整數系。

舉例:

創建表:

createtabletest(idinteger);

意味著,在id這個欄位中,只能存取整數。

㈡ 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 列出了各精確度所需的位元組數之間的關系。

4、NUMERIC

NUMERIC數據類型與DECIMAL數據類型完全相同。
注意:SQL Server 為了和前端的開發工具配合,其所支持的數據精度默認最大為28位。

三、 二進制數據類型

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

一般情況下,由於BINARY 數據類型長度固定,因此它比VARBINARY 類型的處理速度快。

四、 邏輯數據類型

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,則系統自動在其後添加空格來填滿設定好的空間。若輸入的數據過長,將會截掉其超出部分。

2、NCHAR

NCHAR數據類型的定義形式為NCHAR[ (n) ]。 它與CHAR 類型相似。不同的是NCHAR數據類型n 的取值為1 到4000。 因為NCHAR 類型採用UNICODE 標准字元集(CharacterSet)。 UNICODE 標准規定每個字元佔用兩個位元組的存儲空間,所以它比非UNICODE 標準的數據類型多佔用一倍的存儲空間。使用UNICODE 標準的好處是因其使用兩個位元組做存儲單位,其一個存儲單位的容納量就大大增加了,可以將全世界的語言文字都囊括在內,在一個數據列中就可以同時出現中文、英文、法文、德文等,而不會出現編碼沖突。

3、VARCHAR

VARCHAR數據類型的定義形式為VARCHAR [ (n) ]。 它與CHAR 類型相似,n 的取值也為1 到8000, 若輸入的數據過長,將會截掉其超出部分。不同的是,VARCHAR數據類型具有變動長度的特性,因為VARCHAR數據類型的存儲長度為實際數值長度,若輸入數據的字元數小於n ,則系統不會在其後添加空格來填滿設定好的空間。
一般情況下,由於CHAR 數據類型長度固定,因此它比VARCHAR 類型的處理速度快。

4、NVARCHAR

NVARCHAR數據類型的定義形式為NVARCHAR[ (n) ]。 它與VARCHAR 類型相似。不同的是,NVARCHAR數據類型採用UNICODE 標准字元集(Character Set), n 的取值為1 到4000。

六、文本和圖形數據類型

這類數據類型用於存儲大量的字元或二進制數據。

1、TEXT

TEXT數據類型用於存儲大量文本數據,其容量理論上為1 到2的31次方-1 (2, 147, 483, 647)個位元組,在實際應用時需要視硬碟的存儲空間而定。

SQL Server 2000 以前的版本中,資料庫中一個TEXT 對象存儲的實際上是一個指針,它指向一個個以8KB (8192 個位元組)為單位的數據頁(Data Page)。 這些數據頁是動態增加並被邏輯鏈接起來的。在SQL Server 2000 中,則將TEXT 和IMAGE 類型的數據直接存放到表的數據行中,而不是存放到不同的數據頁中。 這就減少了用於存儲TEXT 和IMA- GE 類型的空間,並相應減少了磁碟處理這類數據的I/O 數量。

2 NTEXT

NTEXT數據類型與TEXT.類型相似不同的,是NTEXT 類型採用UNICODE 標准字元集(Character Set), 因此其理論容量為230-1(1, 073, 741, 823)個位元組。

3 IMAGE

IMAGE數據類型用於存儲大量的二進制數據Binary Data。 其理論容量為2的31次方-1(2,147,483,647)個位元組。其存儲數據的模式與TEXT 數據類型相同。通常用來存儲圖形等OLE Object Linking and Embedding,對象連接和嵌入)對象。在輸入數據時同BINARY數據類型一樣,必須在數據前加上字元「0X」作為二進制標識

七、日期和時間數據類型

1 DATETIME

DATETIME 數據類型用於存儲日期和時間的結合體。它可以存儲從公元1753 年1 月1 日零時起到公元9999 年12 月31 日23 時59 分59 秒之間的所有日期和時間,其精確度可達三百分之一秒,即3.33 毫秒。DATETIME 數據類型所佔用的存儲空間為8 個位元組。其中前4 個位元組用於存儲1900 年1 月1 日以前或以後的天數,數值分正負,正數表示在此日期之後的日期,負數表示在此日期之前的日期。後4 個位元組用於存儲從此日零時起所指定的時間經過的毫秒數。如果在輸入數據時省略了時間部分,則系統將12:00:00:000AM作為時間預設值:如果省略了日期部分,則系統將1900 年1 月1 日作為日期預設值。

2 SMALLDATETIME

SMALLDATETIME 數據類型與DATETIME 數據類型相似,但其日期時間范圍較小,為從1900 年1 月1 日到2079 年6 月6:日精度較低,只能精確到分鍾,其分鍾個位上為根據秒數四捨五入的值,即以30 秒為界四捨五入。如:DATETIME 時間為14:38:30.283時SMALLDATETIME 認為是14:39:00 SMALLDATETIME 數據類型使用4 個位元組存儲數據。其中前2 個位元組存儲從基礎日期1900 年1 月1 日以來的天數,後兩個位元組存儲此日零時起所指定的時間經過的分鍾數。

八、 貨幣數據類型

貨幣數據類型用於存儲貨幣值。在使用貨幣數據類型時,應在數據前加上貨幣符號,系統才能辨識其為哪國的貨幣,如果不加貨幣符號,則默認為「¥」。各貨幣符號如圖4-2所示。

1 MONEY

MONEY 數據類型的數據是一個有4 位小數的DECIMAL 值,其取值從-2的63次方(-922,337,203,685,477.5808到2的63次方-1(+922,337,203,685,477.5807),數據精度為萬分之一貨幣單位。MONEY 數據類型使用8個位元組存儲。

2 SMALLMONEY

SMALLMONEY數據類型類似於MONEY 類型,但其存儲的貨幣值范圍比MONEY數據類型小,其取值從-214,748.3648到+214,748.3647,存儲空間為4 個位元組。

九、 特定數據類型

SQL Server 中包含了一些用於數據存儲的特殊數據類型。

1 TIMESTAMP

TIMESTAMP數據類型提供資料庫范圍內的惟一值此類型相當於BINARY8或VARBINARY(8),但當它所定義的列在更新或插入數據行時,此列的值會被自動更新,一個計數值將自動地添加到此TIMESTAMP數據列中。每個資料庫表中只能有一個TIMESTAMP數據列。如果建立一個名為「TIMESTAMP」的列,則該列的類型將被自動設為TIMESTAMP數據類型。

2 UNIQUEIDENTIFIER

UNIQUEIDENTIFIER 數據類型存儲一個16 位的二進制數字。此數字稱為(GUIDGlobally Unique Identifier ,即全球惟一鑒別號)。此數字由SQLServer 的NEWID函數產生的全球惟一的編碼,在全球各地的計算機經由此函數產生的數字不會相同。

十、 用戶自定義數據類型

SYSNAME SYSNAME 數據類型是系統提供給用戶的,便於用戶自定義數據類型。它被定義為NVARCHAR(128),即它可存儲128個UNICODE字元或256個一般字元。

以表格形式說明:

欄位類型 描述
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)

㈢ SQL里的int類型

1、int、bigint、smallint 和 tinyint是使用整數數據的精確數字數據類型。

2、主要類型、范圍、存儲體如下:

1)bigint:從 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型數據,存儲 8 個位元組。

2)int:從 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型數據。存儲 4 個位元組

3)smallint:從 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型數據,存儲2 個位元組。

4)tinyint:從 0 到 255 的整型數據,存儲 1 位元組。

(3)sql大整數型標識擴展閱讀:

1、int的定義:int是一種數據類型,在編程語言(C、C++、C#、Java等)中,它是用於定義整數類型變數的標識符。

2、int的概述:int的存在很廣泛,在目前在一般的家用電腦中,int佔用4位元組,32比特,數據范圍為-2147483648~2147483647[-2^31~2^31-1],在微型機中,int佔用2位元組,16比特,數據范圍為-32768~32767[-2^15~2^15-1]。使用printf輸出int佔用位元組數量:printf("%d",sizeof(int)); 除了int類型之外,還有short、long、long long類型可以表示整數。unsigned int 表示無符號整數,數據范圍為[0~2^32-1],unsigned int 表示無符號整數,數據范圍為[0~2^32-1]。

㈣ SQL Server資料庫--表--新建表時的數據類型都是什麼意思啊

(1) 整數型
整數包括bigint、int、smallint和tinyint,從標識符的含義就可以看出,它們的表示數范圍逐漸縮小。
l bigint:大整數,數范圍為 -263 (-9223372036854775808)~263-1 (9223372036854775807) ,其精度為19,小數位數為0,長度為8位元組。
l int:整數,數范圍為 -231 (-2,147,483,648) ~231 - 1 (2,147,483,647) ,其精度為10,小數位數為0,長度為4位元組。
l smallint:短整數,數范圍為 -215 (-32768) ~215 - 1 (32767) ,其精度為5,小數位數為0,長度為2位元組。
l tinyint:微短整數,數范圍為 0~255,長度為1位元組,其精度為3,小數位數為0,長度為1位元組。
(2) 精確整數型
精確整數型數據由整數部分和小數部分構成,其所有的數字都是有效位,能夠以完整的精度存儲十進制數。精確整數型包括decimal 和 numeric兩類。從功能上說兩者完全等價,兩者的唯一區別在於decimal不能用於帶有identity關鍵字的列。
聲明精確整數型數據的格式是numeric | decimal(p[,s]),其中p為精度,s為小數位數,s的預設值為0。例如指定某列為精確整數型,精度為6,小數位數為3,即decimal(6,3),那麼若向某記錄的該列賦值56.342689時,該列實際存儲的是56.3427。
decimal和numeric可存儲從 -1038 +1 到 1038 –1 的固定精度和小數位的數字數據,它們的存儲長度隨精度變化而變化,最少為5位元組,最多為17位元組。
l 精度為1~9時,存儲位元組長度為5;
l 精度為10~19時,存儲位元組長度為9;
l 精度為20~28時,存儲位元組長度為13;
l 精度為29~38時,存儲位元組長度為17。
例如若有聲明numeric(8,3),則存儲該類型數據需5位元組,而若有聲明numeric(22,5),則存儲該類型數據需13位元組。
注意:聲明精確整數型數據時,其小數位數必須小於精度;在給精確整數型數據賦值時,必須使所賦數據的整數部分位數不大於列的整數部分的長度。
(3) 浮點型
浮點型也稱近似數值型。顧名思義,這種類型不能提供精確表示數據的精度,使用這種類型來存儲某些數值時,有可能會損失一些精度,所以它可用於處理取值范圍非常大且對精確度要求不是十分高的數值量,如一些統計量。
有兩種近似數值數據類型:float[(n)]和real,兩者通常都使用科學計數法表示數據,即形為:尾數E階數,如5.6432E20,-2.98E10,1.287659E-9等。
l real:使用4位元組存儲數據,表數范圍為-3.40E + 38 到 3.40E + 38,數據精度為7位有效數字。
l float:定義中的n取值范圍是1~53,用於指示其精度和存儲大小。當n在1~24之間時,實際上是定義了一個real型數據,存儲長度為4位元組,精度為7位有效數字;當n在25~53之間時,存儲長度為8位元組,精度為15位有效數字。當預設n時,代表n在25~53之間。float型數據的數范圍為- 1.79E+308 到 1.79E+308。
(4) 貨幣型
SQL Server提供了兩個專門用於處理貨幣的數據類型:money和smallmoney,它們用十進制數表示貨幣值。
l money:數據的數范圍為-263 (-922337203685477.5808)~263-1 (922337203685477.5807) ,其精度為19,小數位數為4,長度為8位元組。money的數的范圍與bigint相同,不同的只是money型有4位小數,實際上,money就是按照整數進行運算的,只是將小數點固定在末4位。
l smallmoney:數范圍為 –231 (-2,147,48.3648) ~231 - 1 (2,147,48.3647) ,其精度為10,小數位數為4,長度為4位元組。可見smallmoney與int的關系就如同money與bigint的關系。
當向表中插入money或smallmoney類型的值時,必須在數據前面加上貨幣表示符號($),並且數據中間不能有逗號(,);若貨幣值為負數,需要在符號$的後面加上負號(-)。例如:$15000.32,$680,$-20000.9088都是正確的貨幣數據表示形式。
(5) 位型
SQL Server中的位(bit)型數據相當於其他語言中的邏輯型數據,它只存儲0和1,長度為一個位元組。但要注意,SQL Server對表中bit類型列的存儲作了優化:如果一個表中有不多於 8 個的bit列,這些列將作為一個位元組存儲,如果表中有 9 到 16 個 bit 列,這些列將作為兩個位元組存儲,更多列的情況依此類推。
當為bit類型數據賦0時,其值為0,而賦非0(如100)時,其值為1。
若表中某列為bit類型數據,那麼該列不允許為空值(有關空值概念本節稍後即做介紹),並且不允許對其建立索引。
(6) 字元型
字元型數據用於存儲字元串,字元串中可包括字母、數字和其它特殊符號(如#、@、&等等)。在輸入字元串時,需將串中的符號用單引號或雙引號括起來,如』abc』、」Abc<Cde」。
SQL Server字元型包括兩類:固定長度 (char) 或可變長度 (varchar) 字元數據類型。
l char[(n)]
定長字元數據類型,其中n定義字元型數據的長度,n在1到8000之間,預設為1。當表中的列定義為char(n)類型時,若實際要存儲的串長度不足n時,則在串的尾部添加空格以達到長度n,所以char(n)的長度為n。例如某列的數據類型為char(20),而輸入的字元串為」ahjm1922」,則存儲的是字元ahjm1922和12個空格。若輸入的字元個數超出了n,則超出的部分被截斷。
l varchar[(n)]
變長字元數據類型,其中n的規定與定長字元型char中n完全相同,但這里n表示的是字元串可達到的最大長度。varchar(n)的長度為輸入的字元串的實際字元個數,而不一定是n。例如,表中某列的數據類型為varchar(100),而輸入的字元串為」ahjm1922」,則存儲的就是字元ahjm1922,其長度為8位元組。
當列中的字元數據值長度接近一致時,例如姓名,此時可使用 char;而當列中的數據值長度顯著不同時,使用varchar較為恰當,可以節省存儲空間。
(7) Unicode字元型
Unicode是「統一字元編碼標准」,用於支持國際上非英語語種的字元數據的存儲和處理。SQL Server的Unicode字元型可以存儲Unicode標准字元集定義的各種字元。
Unicode字元型包括nchar[(n)]和nvarchar[(n)]兩類。nchar是固定長度 Unicode 數據的數據類型,nvarchar 是可變長度 Unicode 數據的數據類型,二者均使用 UNICODE UCS-2 字元集。
l nchar[(n)]:nchar[(n)]為包含n個字元的固定長度 Unicode 字元型數據,n 的值在 1 與 4,000 之間,預設為1。長度為2n位元組。若輸入的字元串長度不足n,將以空白字元補足。
l nvarchar[(n)]:nvarchar[(n)]為最多包含n個字元的可變長度 Unicode 字元型數據,n 的值在 1 與 4,000之間,預設為1。長度是所輸入字元個數的兩倍。
實際上,nchar、nvarchar與char、varchar的使用非常相似,只是字元集不同(前者使用Unicode字元集,後者使用ASCII字元集)。
(8) 文本型
當需要存儲大量的字元數據,如較長的備注、日誌信息等等,字元型數據的最長8000個字元的限制可能使它們不能滿足這種應用需求,此時可使用文本型數據。
文本型包括text和ntext兩類,分別對應ASCII字元和Unicode字元。text類型可以表示最大長度為 231-1 (2,147,483,647) 個字元,其數據的存儲長度為實際字元數個位元組。ntext可表示最大長度為 230 - 1 (1,073,741,823) 個Unicode字元,其數據的存儲長度是實際字元個數的兩倍(以位元組為單位)。
(9) 二進制型
二進制數據類型表示的是位數據流,包括binary(固定長度)和varbinary(可變長度)兩種。
l binary [(n) ]:固定長度的n個位元組二進制數據。n取值范圍為 1 到 8,000,預設為1。binary(n)數據的存儲長度為 n+4 位元組。若輸入的數據長度小於n,則不足部分用0填充;若輸入的數據長度大於n,則多餘部分被截斷。
輸入二進制值時,在數據前面要加上0x,可以用的數字元號為0—9、A—F(字母大小寫均可)。因此,二進制數據有時也被稱為十六進制數據。例如0xFF、0x12A0分別表示值FF和12A0。因為每位元組的數最大為FF,故在「0x」格式的數據每兩位佔1個位元組。
l varbinary [(n) ]:n個位元組變長二進制數據。n取值范圍為 1 到 8,000,預設為1。varbinary(n)數據的存儲長度為實際輸入數據長度+4個位元組。
(10) 日期時間類型
日期時間類型數據用於存儲日期和時間信息,包括datetime和smalldatetime兩類。
l datetime:datetime類型可表示的日期范圍從 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和時間數據,精確度為百分之三秒(3.33 毫秒或 0.00333 秒),例如1到3毫秒的值都表示為0毫秒,4到6毫秒的值都表示為4毫秒。
datetime類型數據長度為8位元組,日期和時間分別使用4個位元組存儲。前4 位元組用於存儲datetime類型數據中距1900 年 1 月 1 日的天數,為正數表示日期在1900年1月1日之後,為負數則表示日期在1900年1月1日之前。後4個位元組用於存儲datetime類型數據中距12:00(24小時制)的毫秒數。
用戶以字元串形式輸入datetime類型數據,系統也以字元串形式輸出datetime類型數據,將用戶輸入到系統以及系統輸出的datetime類型數據的字元串形式稱為datetime類型數據的「外部形式」,而將datetime在系統內的存儲形式稱為「內部形式」,SQL Server負責datetime類型數據的兩種表現形式之間的轉換,包括合法性檢查。
用戶給出datetime類型數據值時,日期部分和時間部分分別給出。
日期部分的表示形式常用的格式如下:

年 月 日 2001 Jan 20、2001 Janary 20
年 日 月 2001 20 Jan
月 日[,]年 Jan 20 2001、Jan 20,2001、Jan 20,01
月 年 日 Jan 2001 20
日 月[,]年 20 Jan 2001、20 Jan,2001
日 年 月 20 2001 Jan
年(4位數) 2001表示2001年1月1日
年月日 20010120、010120
月/日/年 01/20/01、1/20/01、01/20/2001、1/20/2001
月-日-年 01-20-01、1-20-01、01-20-2001、1-20-2001
月.日.年 01.20.01、1.20.01、01.20.2001、1.20.2001

說明:年可用4位或2位表示,月和日可用1位或2位表示。
時間部分常用的表示格式如下:

時:分 10:20、08:05
時:分:秒 20:15:18、20:15:18.2
時:分:秒:毫秒 20:15:18:200
時:分AM|PM 10:10AM、10:10PM

l smalldatetime:smalldatetime類型數據可表示從 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和時間,數據精確到分鍾,即29.998 秒或更低的值向下舍入為最接近的分鍾,29.999 秒或更高的值向上舍入為最接近的分鍾。Smalldatetime類型數據的存儲長度為4位元組,前2個位元組用來存儲smalldatetime類型數據中日期部分距1900年1月1日之後的天數;後2個位元組用來存儲smalldatetime類型數據中時間部分距中午12點的分鍾數。
用戶輸入smalldatetime類型數據的格式與datetime類型數據完全相同,只是它們的內部存儲可能不相同。
(11) 時間戳型
標識符是timestamp。若創建表時定義一個列的數據類型為時間戳類型,那麼每當對該表加入新行或修改已有行時,都由系統自動將一個計數器值加到該列,即將原來的時間戳值加上一個增量。記錄timestamp列的值實際上反映了系統對該記錄修改的相對(相對於其他記錄)順序。一個表只能有一個timestamp 列。Timestamp類型數據的值實際上是二進制格式數據,其長度為8位元組。
(12) 圖象數據類型
標識符是image,它用於存儲圖片、照片等。實際存儲的是可變長度二進制數據,介於 0 與 231-1 (2,147,483,647) 位元組之間。
(13) 其它數據類型
除了上面所介紹的常用數據類型外,SQL Server 2000還提供了其它幾種數據類型:cursor、sql_variant、table和uniqueidentifier。
Cursor:是游標數據類型,用於創建游標變數或定義存儲過程的輸出參數。
Sql_variant:是一種存儲 SQL Server 支持的各種數據類型(除text、ntext、image、timestamp 和 sql_variant 外)值的數據類型。Sql_variant的最大長度可達 8016 位元組。
Table:是用於存儲結果集的數據類型,結果集可以供後續處理。
Uniqueidentifier:是唯一標識符類型。系統將為這種類型的數據產生唯一標識值,它是一個16位元組長的二進制數據。

㈤ 易語言寫SQL SEVER資料庫,整數型變數應該怎麼表達

insert into 表名 (整數欄位,文本欄位) values ('"+ 到文本(整數型變數) +"','"+ 文本變數 +"')
調試看看
不行就這樣
insert into 表名 (整數欄位,文本欄位) values ("+ 到文本(整數型變數) +",'"+ 文本變數 +"')

㈥ 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語言中,各種數據類型代表的含義是什麼

(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中使用bigint數據類型,可以啟用標識作為ID主鍵列嗎

在數據類型優先次序表中,bigint 介於 smallmoney 和 int 之間
bigint 數據類型用於整數值可能超過 int 數據類型支持范圍的情況
其他無區別

㈨ sql server中的整型數據類型有哪些

一、 整數數據類型

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

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 列出了各精確度所需的位元組數之間的關系。

4、NUMERIC

NUMERIC數據類型與DECIMAL數據類型完全相同。
注意:SQL Server 為了和前端的開發工具配合,其所支持的數據精度默認最大為28位。