国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

所在位置: 首頁(yè) > 營(yíng)銷(xiāo)資訊 > 信息時(shí)代 > SQL數(shù)據(jù)類(lèi)型(數(shù)據(jù)庫(kù))

SQL數(shù)據(jù)類(lèi)型(數(shù)據(jù)庫(kù))

時(shí)間:2022-11-08 16:30:01 | 來(lái)源:信息時(shí)代

時(shí)間:2022-11-08 16:30:01 來(lái)源:信息時(shí)代

    SQL數(shù)據(jù)類(lèi)型 : 一種可表示的值集。SQL標(biāo)準(zhǔn)規(guī)定了三種數(shù)據(jù)類(lèi)型: 預(yù)定義數(shù)據(jù)類(lèi)型、構(gòu)造數(shù)據(jù)類(lèi)型和用戶(hù)定義數(shù)據(jù)類(lèi)型(或稱(chēng)UDT)。每種數(shù)據(jù)類(lèi)型都有與之相關(guān)聯(lián)的數(shù)據(jù)類(lèi)型描述符,數(shù)據(jù)類(lèi)型描述符包括該數(shù)據(jù)類(lèi)型的標(biāo)識(shí)和描述該數(shù)據(jù)類(lèi)型值所需的特征信息。SQL標(biāo)準(zhǔn)規(guī)定SQL數(shù)據(jù)值不是非空值就是空值??罩凳荢QL實(shí)現(xiàn)決定的特殊值,可以賦值給任何SQL數(shù)據(jù)類(lèi)型,它用來(lái)表示“未知數(shù)據(jù)”或“不可用數(shù)據(jù)”,并區(qū)別于所有非空值??罩低ǔS蒒ULL表示。
1.預(yù)定義數(shù)據(jù)類(lèi)型
SQL標(biāo)準(zhǔn)規(guī)定的預(yù)定義數(shù)據(jù)類(lèi)型有數(shù)值類(lèi)型、字符串類(lèi)型、二進(jìn)制串類(lèi)型、日期時(shí)間類(lèi)型、時(shí)間間隔類(lèi)型、布爾類(lèi)型和XML類(lèi)型。后四種類(lèi)型是從SQL92開(kāi)始逐步擴(kuò)充的,其中XML類(lèi)型是SQL2003標(biāo)準(zhǔn)新增加的數(shù)據(jù)類(lèi)型。
(1)數(shù)值類(lèi)型: SQL數(shù)值類(lèi)型分為精確數(shù)值類(lèi)型和近似數(shù)值類(lèi)型。精確數(shù)值類(lèi)型包括NUMERIC、DECIMAL、SMALLINT、INTEGER、BIGINT;近似數(shù)值類(lèi)型包括 FLOAT、REAL、DOUBLE PRECISION。SQL標(biāo)準(zhǔn)規(guī)定任何兩個(gè)數(shù)值類(lèi)型的值均是可比較的。數(shù)值類(lèi)型的值只能賦值給數(shù)值類(lèi)型的對(duì)象。如果數(shù)的賦值導(dǎo)致它的最高位丟失,將引發(fā)異常;如果實(shí)現(xiàn)定義的舍入或截?cái)鄬?dǎo)致最低位丟失,不應(yīng)引發(fā)異常。
(2)字符串類(lèi)型:字符串是一個(gè)字符序列。SQL標(biāo)準(zhǔn)將字符串類(lèi)型分為定長(zhǎng)、變長(zhǎng)和字符大對(duì)象。定長(zhǎng)字符串類(lèi)型有CHARACTER和NATIONAL CHARACTER;變長(zhǎng)字符串類(lèi)型有CHARACTER VARYING和NATIONAL CHARACTER VARYING;字符大對(duì)象類(lèi)型有CHARACTER LARGE OBJECT和NATIONAL CHARACTER LARGE OBJECT。
SQL標(biāo)準(zhǔn)規(guī)定,字符串中所有字符都取自某個(gè)字符集,字符串表達(dá)式只能賦值給具有相同字符集的字符串類(lèi)型的對(duì)象。如果存儲(chǔ)賦值由于截?cái)嘣斐煞强崭褡址膩G失,應(yīng)引發(fā)異常; 如果檢索賦值由于截?cái)嘣斐勺址麃G失,應(yīng)引發(fā)警告。只有當(dāng)兩個(gè)字符串具有相同的字符集或者兩者的字符集至少存在一種共同的排序方法,兩個(gè)字符串才是可比較的。
(3)二進(jìn)制串類(lèi)型: 二進(jìn)制串是八位位組序列(也稱(chēng)字節(jié)序列),它沒(méi)有與其相關(guān)的字符集和排序。二進(jìn)制串類(lèi)型的類(lèi)型指示符為BINARY LARGE OBJECT。SQL標(biāo)準(zhǔn)規(guī)定,二進(jìn)制串只能賦值給二進(jìn)制串類(lèi)型的對(duì)象。如果存儲(chǔ)賦值由于截?cái)喽a(chǎn)生非0的八位位組丟失,應(yīng)引發(fā)異常; 如果檢索賦值由于截?cái)喽a(chǎn)生非0的八位位組丟失,應(yīng)引發(fā)警告。所有的二進(jìn)制串都是相互可比較的。
(4) 日期時(shí)間數(shù)據(jù)類(lèi)型:日期時(shí)間數(shù)據(jù)類(lèi)型分為日期時(shí)間類(lèi)型和時(shí)間間隔類(lèi)型兩類(lèi),用于存儲(chǔ)日期、時(shí)間和它們之間的間隔信息。
日期時(shí)間類(lèi)型有DATE、TIME和TIMESTAMP。DATE類(lèi)型包括的字段為YEAR、MONTH和DAY。TIME類(lèi)型包括的字段為 HOUR、MINUTE和SECOND。TIMESTAMP類(lèi)型包括的字段為YEAR、MONTH、DAY、HOUR、MINUTE和SECOND。SQL標(biāo)準(zhǔn)規(guī)定,只有當(dāng)日期時(shí)間類(lèi)型的值具有相同的基本日期時(shí)間字段時(shí),才是相互可比較的; 只有當(dāng)賦值的源和目標(biāo)都是DATE類(lèi)型或都是TIME類(lèi)型或都是TIMESTAMP類(lèi)型時(shí),才能進(jìn)行賦值操作。
時(shí)間間隔類(lèi)型分為兩類(lèi)13種。一類(lèi)稱(chēng)為年-月間隔,只包括YEAR和MONTH兩個(gè)字段。年-月間隔類(lèi)型細(xì)分為三種,即INTERVAL YEAR TO MONTH、INTERVAL YEAR和INTERVAL MONTH。另一類(lèi)稱(chēng)為日-時(shí)間隔,細(xì)分為10種,即INTERVAL DAY,INTERVAL DAY TO HOUR,INTERVAL DAY TO MINUTE,INTERVAL DAY TO SECOND,INTERVAL HOUR,INTERVAL HOUR TO MINUTE,INTERVAL HOUR TO SECOND,INTERVAL MINUTE,INTERVAL MINUTE TO SECOND,INTERVAL SECOND。SQL標(biāo)準(zhǔn)規(guī)定,年-月間隔類(lèi)型的值之間是相互可比較的,日-時(shí)間隔類(lèi)型的值之間是相互可比較的,但要求它們具有相同的精度。
(5)布爾類(lèi)型: 布爾類(lèi)型包括兩個(gè)不同的真值:TRUE和FLASE。布爾類(lèi)型的類(lèi)型指示符為BOOLEAN。如果不受非空約束限制,布爾類(lèi)型也支持真值UNKNOWN作為空值。
(6) XML類(lèi)型: 存儲(chǔ)XML值的類(lèi)型稱(chēng)為XML類(lèi)型。XML是SQL2003新擴(kuò)充的預(yù)定義類(lèi)型,并支持XMLPARSE、XMLSERIALIZE、XMLROOT、XMLCONCAT內(nèi)置操作符和謂詞IS DOCUMENT。XMLPARSE返回給定SQL字符串表達(dá)式的一個(gè)XML類(lèi)型的值; XMLSERIALIZE返回給定XML表達(dá)式的一個(gè)字符串類(lèi)型的值; XMLROOT修改XML值的根信息項(xiàng),并返回修改的值;XMLCONCAT連接兩個(gè)或多個(gè)XML值,并返回結(jié)果值; 謂詞IS DOCUMENT用來(lái)測(cè)試一個(gè)XML值是否具有單個(gè)根元素。
2.構(gòu)造數(shù)據(jù)類(lèi)型
SQL構(gòu)造類(lèi)型分為引用類(lèi)型、行類(lèi)型和集合類(lèi)型。引用類(lèi)型是由類(lèi)型指示符REF指定的標(biāo)量構(gòu)造類(lèi)型,其值引用(或指向)某個(gè)擁有被引用類(lèi)型的一個(gè)值的站點(diǎn),能夠這樣被引用的站點(diǎn)只有類(lèi)型表(基于某個(gè)結(jié)構(gòu)類(lèi)型聲明的表)中的行,每個(gè)被引用類(lèi)型是一個(gè)結(jié)構(gòu)類(lèi)型。行類(lèi)型是復(fù)合構(gòu)造類(lèi)型,由若干(字段名,數(shù)據(jù)類(lèi)型)對(duì)的序列組成,類(lèi)型指示符為ROW,稱(chēng)(字段名,數(shù)據(jù)類(lèi)型)對(duì)為字段,一個(gè)行類(lèi)型值由它的每個(gè)字段值構(gòu)成。集合類(lèi)型是復(fù)合數(shù)據(jù)類(lèi)型,包括數(shù)組和多重集,類(lèi)型指示符分別為ARRAY和MULTISET。數(shù)組是一個(gè)其值未必相異的有序集,多重集是一個(gè)其值未必相異的無(wú)序集。
3. 用戶(hù)定義類(lèi)型
用戶(hù)定義類(lèi)型是SQL99標(biāo)準(zhǔn)擴(kuò)充的數(shù)據(jù)類(lèi)型,分為結(jié)構(gòu)類(lèi)型和相異類(lèi)型(distinct type),它是由用戶(hù)定義類(lèi)型名標(biāo)識(shí)的模式對(duì)象。結(jié)構(gòu)類(lèi)型是由若干屬性組成的,結(jié)構(gòu)類(lèi)型的每個(gè)屬性有一個(gè)數(shù)據(jù)類(lèi)型。結(jié)構(gòu)類(lèi)型的值由若干屬性值組成,屬性值是被封裝的,它們不能由用戶(hù)直接訪(fǎng)問(wèn),只有通過(guò)調(diào)用為它們隱式定義的觀察函數(shù)和變異函數(shù)才能訪(fǎng)問(wèn)。相異類(lèi)型是一種基于單個(gè)預(yù)定義類(lèi)型(稱(chēng)為源類(lèi)型)的用戶(hù)定義類(lèi)型。相異類(lèi)型的值由其所基于的類(lèi)型的值來(lái)表示。
用戶(hù)定義類(lèi)型的定義可包括若干方法說(shuō)明。方法說(shuō)明可以是原型方法說(shuō)明,也可以是重載方法說(shuō)明(此時(shí)該類(lèi)型必須是結(jié)構(gòu)類(lèi)型)。每個(gè)方法說(shuō)明包括方法名、參數(shù)聲明、返回?cái)?shù)據(jù)類(lèi)型等若干參數(shù)和特性。

74
73
25
news

版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉