




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)類型1數(shù)據(jù)類型數(shù)據(jù)類型的選擇對(duì)于數(shù)據(jù)的存儲(chǔ)、查詢和維護(hù)至關(guān)重要。常用數(shù)據(jù)類型數(shù)據(jù)類型PART01一、數(shù)據(jù)類型用于定義列、變量或參數(shù)可以存儲(chǔ)的數(shù)據(jù)種類。決定存儲(chǔ)空間的大小、可接受的值的范圍以及數(shù)據(jù)的格式。在SQLServer中所有的數(shù)據(jù)都是按照數(shù)據(jù)類型存儲(chǔ)在表中。數(shù)據(jù)類型一、數(shù)據(jù)類型系統(tǒng)數(shù)據(jù)類型用戶定義數(shù)據(jù)類型SQLServer支持的內(nèi)置數(shù)據(jù)類型用戶根據(jù)系統(tǒng)數(shù)據(jù)類型自己定義的數(shù)據(jù)類型常用數(shù)據(jù)類型PART02二、常用數(shù)據(jù)類型分類備注和說明數(shù)據(jù)類型說明二進(jìn)制數(shù)據(jù)類型存儲(chǔ)非子符和文本的數(shù)據(jù)Image可用來存儲(chǔ)圖像文本數(shù)據(jù)類型字符數(shù)據(jù)包括任意字母、符號(hào)或數(shù)字字符的組合Char固定長(zhǎng)度的非Unicode字符Varchar可變長(zhǎng)度非Unicode字符Nchar固定長(zhǎng)度的Unicode字符Nvarchar可變長(zhǎng)度Unicode字符Text存儲(chǔ)長(zhǎng)文本信息Ntext存儲(chǔ)可變長(zhǎng)度的長(zhǎng)文本image數(shù)據(jù)類型在SQLServer2012之后被varbinary(max)數(shù)據(jù)類型所取代文本數(shù)據(jù)類型PART03三、文本數(shù)據(jù)類型Char是一個(gè)固定長(zhǎng)度的字符串?dāng)?shù)據(jù)類型,用于存儲(chǔ)非Unicode字符。char數(shù)據(jù)類型可以存儲(chǔ)從1到8000個(gè)字符的字符串。如果指定的字符串長(zhǎng)度小于定義的長(zhǎng)度,SQLServer會(huì)用空格填充剩余部分以達(dá)到指定長(zhǎng)度。Char三、文本數(shù)據(jù)類型定義了一個(gè)char(10)類型的字段,并且插入了一個(gè)長(zhǎng)度為5的字符串,那么SQLServer會(huì)在字符串后面填充5個(gè)空格,使其總長(zhǎng)度達(dá)到10個(gè)字符。char數(shù)據(jù)類型在存儲(chǔ)時(shí)占用的空間是固定的,這意味著不管實(shí)際存儲(chǔ)的字符串長(zhǎng)度如何,每個(gè)char字段都會(huì)占用相同數(shù)量的存儲(chǔ)空間。三、文本數(shù)據(jù)類型varchar數(shù)據(jù)類型是一種可變長(zhǎng)度的字符串?dāng)?shù)據(jù)類型,用于存儲(chǔ)非Unicode字符。它允許存儲(chǔ)的字符串長(zhǎng)度介于1到8000個(gè)字符之間。當(dāng)聲明varchar變量或列時(shí),可以指定最大字符數(shù),稱為定義長(zhǎng)度。varchar三、文本數(shù)據(jù)類型如果插入的字符串長(zhǎng)度小于定義長(zhǎng)度,SQLServer會(huì)動(dòng)態(tài)地為存儲(chǔ)分配所需的空間,加上一個(gè)額外的字節(jié)用于存儲(chǔ)字符串的實(shí)際長(zhǎng)度。varchar三、文本數(shù)據(jù)類型如果插入的字符串只有50個(gè)字符,SQLServer將只為這50個(gè)字符分配空間,并在內(nèi)部記錄實(shí)際長(zhǎng)度為50。一個(gè)定義長(zhǎng)度為100的varchar列,那么該列可以存儲(chǔ)最多100個(gè)字符的字符串。三、文本數(shù)據(jù)類型當(dāng)定義varchar列時(shí),如果未指定長(zhǎng)度,SQLServer默認(rèn)長(zhǎng)度為1。對(duì)于存儲(chǔ)長(zhǎng)度小于或等于8000個(gè)字符的字符串,varchar類型是合適的選擇。varchar類型在存儲(chǔ)時(shí)不會(huì)占用固定的空間。進(jìn)行排序或比較操作時(shí),可能會(huì)比固定長(zhǎng)度的數(shù)據(jù)類型(如char)慢一些。三、文本數(shù)據(jù)類型在使用varchar時(shí),還需要注意字符集和排序規(guī)則的影響。不同的字符集和排序規(guī)則會(huì)影響存儲(chǔ)空間的需求以及字符比較的規(guī)則。在創(chuàng)建數(shù)據(jù)庫(kù)或表時(shí),應(yīng)根據(jù)數(shù)據(jù)的特性和需求選擇合適的字符集和排序規(guī)則。三、文本數(shù)據(jù)類型NCHAR是一個(gè)固定長(zhǎng)度的Unicode字符數(shù)據(jù)類型,用于存儲(chǔ)Unicode字符。它的長(zhǎng)度范圍是1到4000個(gè)字符。NCHAR類型使用Unicode字符集,每個(gè)字符占用兩個(gè)字節(jié)。如果插入的字符串長(zhǎng)度小于定義的長(zhǎng)度,SQLServer會(huì)在字符串的右側(cè)填充空格以達(dá)到指定的長(zhǎng)度。Nchar三、文本數(shù)據(jù)類型變量@NCharVar被聲明為NCHAR類型,并且長(zhǎng)度為10。字符串'你好'被賦值給它,由于'你好'的長(zhǎng)度小于10,所以SQLServer會(huì)在'你好'后面填充空格,直到總長(zhǎng)度達(dá)到10。這里使用了N前綴來表示字符串是Unicode字符串。DECLARE@NCharVarNCHAR(10);SET@NCharVar=N'你好';SELECT@NCharVar;三、文本數(shù)據(jù)類型例如:--創(chuàng)建一個(gè)表,其中包含VARCHAR和NVARCHAR類型的列CREATETABLEExampleTable(IDINTPRIMARYKEY,StringDataVARCHAR(100),--存儲(chǔ)非Unicode字符串,最大長(zhǎng)度為100個(gè)字符UnicodeDataNVARCHAR(100)--存儲(chǔ)Unicode字符串,最大長(zhǎng)度為100個(gè)字符);在SQLServer中,VARCHAR和NVARCHAR是兩種用于存儲(chǔ)字符串?dāng)?shù)據(jù)類型的變量。VARCHAR用于存儲(chǔ)非Unicode字符串,而NVARCHAR用于存儲(chǔ)Unicode字符串。三、文本數(shù)據(jù)類型123StringData列使用VARCHAR類型,它可以存儲(chǔ)最多100個(gè)字符的非Unicode字符串。UnicodeData列使用NVARCHAR類型,它可以存儲(chǔ)最多100個(gè)字符的Unicode字符串。Unicode字符串支持多種語(yǔ)言字符,而VARCHAR僅支持基于ASCII的字符集。三、文本數(shù)據(jù)類型Nvarchar數(shù)據(jù)類型非常適用于需要存儲(chǔ)多種語(yǔ)言字符的場(chǎng)景。需要存儲(chǔ)用戶的名字和地址信息,這些信息可能包含西歐字符、中文字符甚至阿拉伯字符。使用Nvarchar類型,可以確保所有這些字符都能被正確地存儲(chǔ)和檢索。Nvarchar舉例三、文本數(shù)據(jù)類型下面是一個(gè)使用Nvarchar類型的簡(jiǎn)單示例,演示使用Nvarchar類型來存儲(chǔ)包含多種語(yǔ)言字符的字符串?dāng)?shù)據(jù):--創(chuàng)建一個(gè)表,其中包含Nvarchar類型的列CREATETABLEInternationalTable(UserIDINTPRIMARYKEY,FullNameNVARCHAR(255),--存儲(chǔ)最多255個(gè)字符的Unicode字符串AddressLine1NVARCHAR(255),--存儲(chǔ)最多255個(gè)字符的Unicode字符串AddressLine2NVARCHAR(255),--存儲(chǔ)最多255個(gè)字符的Unicode字符串CityNVARCHAR(100),--存儲(chǔ)最多100個(gè)字符的Unicode字符串CountryNVARCHAR(100)--存儲(chǔ)最多100個(gè)字符的Unicode字符串);三、文本數(shù)據(jù)類型創(chuàng)建了一個(gè)名為`InternationalTable`表包含幾個(gè)Nvarchar型的列,用于存儲(chǔ)用戶的名字、地址等信息。插入了一條包含中文字符的記錄,并使用SELECT句查詢表中的數(shù)據(jù)。三、文本數(shù)據(jù)類型通過使用Nvarchar數(shù)據(jù)類型,能夠確保應(yīng)用程序能夠處理和存儲(chǔ)來自不同語(yǔ)言環(huán)境的用戶數(shù)據(jù),從而支持國(guó)際化和本地化的需求。三、文本數(shù)據(jù)類型在SQLServer中,text和ntext數(shù)據(jù)類型用于存儲(chǔ)大量的文本數(shù)據(jù)。text數(shù)據(jù)類型用于存儲(chǔ)非Unicode字符數(shù)據(jù),最大容量為2GB。ntext數(shù)據(jù)類型用于存儲(chǔ)Unicode字符數(shù)據(jù),最大容量也是2GB。在SQLServer2005及以后的版本中已被更現(xiàn)代的數(shù)據(jù)類型如varchar(max)和nvarchar(max)所取代image數(shù)據(jù)類型文本數(shù)據(jù)類型的使用數(shù)據(jù)類型2數(shù)據(jù)類型image數(shù)據(jù)類型文本數(shù)據(jù)類型的使用常用數(shù)據(jù)類型日期和時(shí)間PART01一、日期和時(shí)間日期和時(shí)間日期和時(shí)間在單引號(hào)內(nèi)輸入Datetime日期和時(shí)間數(shù)字?jǐn)?shù)據(jù)該數(shù)據(jù)僅包含數(shù)字,包括正數(shù)、負(fù)數(shù)以及分?jǐn)?shù)IntSmallint整數(shù)FloatReal數(shù)字貨幣數(shù)據(jù)類型用于十進(jìn)制貨幣值Money
Bit數(shù)據(jù)類型表示是/否的數(shù)據(jù)Bit存儲(chǔ)布爾數(shù)據(jù)類型一、日期和時(shí)間SQLServer中的Datetime數(shù)據(jù)類型用于存儲(chǔ)日期和時(shí)間信息。Datetime能夠存儲(chǔ)的日期范圍從1753年1月1日到9999年12月31日,時(shí)間范圍是00:00:00到23:59:59.997。Datetime數(shù)據(jù)類型占用8個(gè)字節(jié)的存儲(chǔ)空間。Datatime一、日期和時(shí)間想插入一個(gè)日期和時(shí)間到數(shù)據(jù)庫(kù)表中,可以使用以下SQL語(yǔ)句:在這個(gè)例子中,'2024-04-0113:45:00'是一個(gè)Datetime值,表示2024年4月1日下午1點(diǎn)45分。可以使用Datetime數(shù)據(jù)類型來記錄事件發(fā)生的具體日期和時(shí)間。INSERTINTOYourTableName(YourDateTimeColumn)VALUES('2024-04-0113:45:00');一、日期和時(shí)間需要存儲(chǔ)時(shí)間而不關(guān)心日期,可以使用Time類型,它同樣占用5個(gè)字節(jié)的存儲(chǔ)空間,可以精確到100納秒。需要存儲(chǔ)日期而不關(guān)心時(shí)間,可以使用Date類型,它僅占用3個(gè)字節(jié)的存儲(chǔ)空間,并且日期范圍與Datetime相同。一、日期和時(shí)間INSERTINTOYourTableName(YourTimeColumn)VALUES('13:45:00');想插入一個(gè)僅包含日期的值到數(shù)據(jù)庫(kù)表中,可以使用以下SQL語(yǔ)句:在這個(gè)例子中,'2024-04-01'是一個(gè)Date值,表示2024年4月1日。這種類型非常適合存儲(chǔ)生日、紀(jì)念日等日期信息。一、日期和時(shí)間需要記錄某個(gè)事件發(fā)生的具體時(shí)間,可以使用Time類型。在這個(gè)例子中,'13:45:00'是一個(gè)Time值,表示下午1點(diǎn)45分。這種類型適合記錄會(huì)議開始時(shí)間、日程安排等時(shí)間信息。INSERTINTOYourTableName(YourDateColumn)VALUES('2024-04-01');一、日期和時(shí)間Datetime2類型比Datetime提供了更寬的日期范圍和更高的時(shí)間精度。Datetime2類型的日期范圍從0001年1月1日到9999年12月31日,時(shí)間范圍是00:00:00.0000000到23:59:59.9999999。Datetime2類型占用8個(gè)字節(jié)的存儲(chǔ)空間,比Datetime類型提供了更高的精度,可以精確到100納秒。一、日期和時(shí)間插入一個(gè)高精度的日期和時(shí)間到數(shù)據(jù)庫(kù)表中,可以使用以下SQL語(yǔ)句:在這個(gè)例子中,'2024-04-0113:45:00.1234567'是一個(gè)Datetime2值,表示2024年4月1日下午1點(diǎn)45分00.1234567秒。INSERTINTOYourTableName(YourDateTime2Column)VALUES('2024-04-0113:45:00.1234567');一、日期和時(shí)間金融交易記錄科學(xué)實(shí)驗(yàn)數(shù)據(jù)通過這些不同的時(shí)間數(shù)據(jù)類型,SQLServer提供了靈活的選擇來滿足各種業(yè)務(wù)需求,確保數(shù)據(jù)的準(zhǔn)確性和存儲(chǔ)效率。數(shù)字?jǐn)?shù)據(jù)PART02二、數(shù)字?jǐn)?shù)據(jù)SQLServer中的int和smallint是兩種整數(shù)數(shù)據(jù)類型,用于存儲(chǔ)整數(shù)值。int數(shù)據(jù)類型占用4個(gè)字節(jié)的存儲(chǔ)空間,其取值范圍是從-2,147,483,648到2,147,483,647。smallint數(shù)據(jù)類型占用2個(gè)字節(jié)的存儲(chǔ)空間,其取值范圍是從-32,768到32,767。二、數(shù)字?jǐn)?shù)據(jù)2.插入數(shù)據(jù)到表中:1.創(chuàng)建一個(gè)表,其中包含int和smallint類型的列:舉例介紹:INSERTINTOExampleTable(ID,SmallID)VALUES(123456789,12345);在這個(gè)例子中,ID列是int類型,可以存儲(chǔ)較大的整數(shù)值,而SmallID列是smallint類型,適合存儲(chǔ)較小的整數(shù)值。CREATETABLEExampleTable(IDint,SmallIDsmallint);二、數(shù)字?jǐn)?shù)據(jù)Float:Float是一個(gè)雙精度浮點(diǎn)數(shù)據(jù)類型,用于存儲(chǔ)大范圍的數(shù)值。它可以表示非常大或非常小的數(shù)值。Float數(shù)據(jù)類型在內(nèi)部使用8字節(jié)(64位)存儲(chǔ)數(shù)據(jù)。它的精度可以變化,取決于指定的位數(shù)。例如,F(xiàn)loat(24)表示單精度浮點(diǎn)數(shù),而Float(53)表示雙精度浮點(diǎn)數(shù)。在聲明時(shí),括號(hào)中的數(shù)字表示精度,即數(shù)字的總位數(shù),而不是小數(shù)點(diǎn)后的位數(shù)。在SQLServer中,F(xiàn)loat和Real數(shù)據(jù)類型用于存儲(chǔ)浮點(diǎn)數(shù),即可以表示小數(shù)點(diǎn)的數(shù)值二、數(shù)字?jǐn)?shù)據(jù)Real:Real是一個(gè)單精度浮點(diǎn)數(shù)據(jù)類型,用于存儲(chǔ)較小范圍的數(shù)值。它的存儲(chǔ)空間比Float小,使用4字節(jié)(32位)存儲(chǔ)數(shù)據(jù)。Real數(shù)據(jù)類型提供7位數(shù)字的精度。在聲明時(shí),括號(hào)中的數(shù)字通常被忽略,因?yàn)镽eal類型總是使用固定的精度。二、數(shù)字?jǐn)?shù)據(jù)--創(chuàng)建一個(gè)表,其中包含float和real類型的列CREATETABLEFloatRealExample(IDINTPRIMARYKEY,FloatColumnFLOAT,RealColumnREAL);以下是如何在SQLServer中使用float和real數(shù)據(jù)類型的示例:浮點(diǎn)數(shù)值二、數(shù)字?jǐn)?shù)據(jù)--插入數(shù)據(jù)INSERTINTOFloatRealExample(ID,FloatColumn,RealColumn)VALUES(1,1234567890.12345,1234567890.12345);--查詢數(shù)據(jù)SELECT*FROMFloatRealExample;FloatColumnRealColumnFloatRealExample由于float和real都是近似數(shù)值類型,所以在存儲(chǔ)和檢索時(shí)可能會(huì)有精度損失。貨幣數(shù)據(jù)類型PART03三、貨幣數(shù)據(jù)類型在SQLServer中,Money數(shù)據(jù)類型用于存儲(chǔ)貨幣值,其范圍從-922,337,203,685,477.5808到922,337,203,685,477.5807,精確到小數(shù)點(diǎn)后四位,即貨幣的最小單位是0.0001元??梢韵虮碇胁迦霐?shù)據(jù),如下所示:三、貨幣數(shù)據(jù)類型CREATETABLEFinancialData(IDINTPRIMARYKEY,AnnualRevenueMONEY);這列存
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞務(wù)合同范本林業(yè)
- 傳單派發(fā)合同范本
- 鄉(xiāng)鎮(zhèn)物業(yè)收費(fèi)合同范本
- 勞務(wù)公司租車合同范本
- 公會(huì)主播合同范本
- 勞務(wù)購(gòu)買合同范例
- 公司經(jīng)營(yíng)模式合同范本
- 出售買賣合同范本
- 勞動(dòng)合同轉(zhuǎn)簽合同范本
- 2025國(guó)合通測(cè)校園招聘筆試參考題庫(kù)附帶答案詳解
- 2024年南京旅游職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)附答案
- MOOC 職業(yè)生涯開發(fā)與管理-南京郵電大學(xué) 中國(guó)大學(xué)慕課答案
- 春節(jié)的那些事作文6篇
- (完整版)機(jī)房安全檢查表
- 山西省太原市2023-2024學(xué)年七年級(jí)下學(xué)期期中數(shù)學(xué)試題
- 《研學(xué)旅行課程設(shè)計(jì)》課件-領(lǐng)悟研學(xué)旅行的目標(biāo)和意義
- XF-T 3004-2020 汽車加油加氣站消防安全管理
- 認(rèn)識(shí)辦公室(辦公室管理課件)
- 子宮內(nèi)膜癌保留生育治療
- (正式版)JBT 14660-2024 額定電壓6kV到30kV地下掘進(jìn)設(shè)備用橡皮絕緣軟電纜
- 本科院校-基礎(chǔ)醫(yī)學(xué)-醫(yī)學(xué)細(xì)胞生物學(xué)-第二章 細(xì)胞的概念與分子基礎(chǔ)
評(píng)論
0/150
提交評(píng)論