數(shù)據(jù)庫(kù)smallint數(shù)據(jù)類(lèi)型 smallint是什么類(lèi)型?
smallint是什么類(lèi)型?Smartint是一種數(shù)據(jù)類(lèi)型。函數(shù):需要2字節(jié)的整數(shù)存儲(chǔ)。語(yǔ)法:[unsigned]smartint]smartint數(shù)據(jù)類(lèi)型是一種精確的數(shù)字?jǐn)?shù)據(jù)類(lèi)型,經(jīng)過(guò)算術(shù)運(yùn)算后精度
smallint是什么類(lèi)型?
Smartint是一種數(shù)據(jù)類(lèi)型。
函數(shù):
需要2字節(jié)的整數(shù)存儲(chǔ)。
語(yǔ)法:
[unsigned]smartint]smartint數(shù)據(jù)類(lèi)型是一種精確的數(shù)字?jǐn)?shù)據(jù)類(lèi)型,經(jīng)過(guò)算術(shù)運(yùn)算后精度保持不變。它需要兩個(gè)字節(jié)的存儲(chǔ)空間。
帶符號(hào)的smartint值的范圍從–2^15(2^15是2的15次冪)到2^15–1,即–32768到32767。
smallint的無(wú)符號(hào)值范圍為0到2^16–1,即0到65535。Int是4字節(jié)的數(shù)據(jù),其值范圍是-2^31-2^31。因此,在考慮最大數(shù)據(jù)范圍的前提下,首選smallint類(lèi)型。
·SQL/92與SQL/92兼容。unsigned關(guān)鍵字是供應(yīng)商擴(kuò)展名。
·Sybase簽名數(shù)據(jù)類(lèi)型與adaptive server enterprise兼容。Adaptive server enterprise不支持未簽名的數(shù)據(jù)類(lèi)型。
請(qǐng)問(wèn)數(shù)據(jù)庫(kù)中的bigint類(lèi)型的取值范圍?
整數(shù)數(shù)據(jù)(所有數(shù)字)從-2^63(-9223372036854775808)到2^63-1(9223372036854775807),存儲(chǔ)大小為8字節(jié)。在支持整數(shù)值的情況下,支持Bigint數(shù)據(jù)類(lèi)型。但是,在某些特殊情況下使用bigint。當(dāng)整數(shù)值超出int數(shù)據(jù)類(lèi)型支持的范圍時(shí),可以使用bigint。在SQL server中,int數(shù)據(jù)類(lèi)型是主要的整數(shù)數(shù)據(jù)類(lèi)型。在數(shù)據(jù)類(lèi)型優(yōu)先表中,bigint介于smallmoney和int之間。僅當(dāng)參數(shù)表達(dá)式為bigint數(shù)據(jù)類(lèi)型時(shí),函數(shù)才返回bigint。SQL server不會(huì)自動(dòng)將其他整數(shù)數(shù)據(jù)類(lèi)型(tinyint、smallint和int)升級(jí)為bigint。
smallint和int的區(qū)別?
主要區(qū)別在于字節(jié)大小。我們知道,在Java中,int占用4個(gè)字節(jié)。數(shù)據(jù)庫(kù)也是如此。Int是4字節(jié),smallint是2字節(jié),tinyint是1字節(jié)。詳細(xì)信息如下:bigint integer data(所有數(shù)字)從-2^63(-9223372036854775808)到2^63-1(9223372036854775807)。存儲(chǔ)大小為8字節(jié)。整數(shù)從-2^31(-2147483648)到2^31-1(2147483647)。存儲(chǔ)大小為4字節(jié)。int的SQL-92同義詞是integer。Smallint整數(shù)數(shù)據(jù)從-2^15(-32768)到2^15-1(32767)。存儲(chǔ)大小為2字節(jié)。0到255之間的小整數(shù)數(shù)據(jù)。存儲(chǔ)大小為1字節(jié)。如果主鍵被設(shè)置為tinyint,那么一旦增加到128,它將不起作用。結(jié)論:分別為8、4、2、1。PS:Unicode規(guī)范通過(guò)將每個(gè)字符編碼為兩個(gè)字節(jié)來(lái)解決這個(gè)問(wèn)題。轉(zhuǎn)換最常見(jiàn)業(yè)務(wù)語(yǔ)言的單個(gè)規(guī)范有足夠的2字節(jié)模式(65536)。因?yàn)樗蠻nicode系統(tǒng)都一致地使用相同的位模式來(lái)表示所有字符,所以在從一個(gè)系統(tǒng)移動(dòng)到另一個(gè)系統(tǒng)時(shí)不會(huì)出現(xiàn)錯(cuò)誤的字符轉(zhuǎn)換問(wèn)題。通過(guò)在整個(gè)系統(tǒng)中使用Unicode數(shù)據(jù)類(lèi)型,可以最大限度地減少字符轉(zhuǎn)換的問(wèn)題。Unicode數(shù)據(jù)在sqlserver中以nchar、varchar和ntext數(shù)據(jù)類(lèi)型存儲(chǔ)。因此,對(duì)于漢字,我們可以使用nvarchar。例如,如果最大漢字?jǐn)?shù)為50,則可以使用nvarchar(50)。當(dāng)然,英文字母表只能是50