數(shù)據(jù)庫(kù)里面創(chuàng)建表是有小數(shù)點(diǎn)的是什么類(lèi)型?
在數(shù)據(jù)庫(kù)中創(chuàng)建的表有小數(shù)點(diǎn),并且是浮點(diǎn)型的。SQLS
hive不支持的數(shù)據(jù)類(lèi)型?
Hiv
sql如何查某個(gè)表某個(gè)字段的數(shù)據(jù)類(lèi)型?
SELECT所有者表所屬組,表名,列名,數(shù)據(jù)類(lèi)型字段類(lèi)型,數(shù)據(jù)長(zhǎng)度字段長(zhǎng)度f(wàn)romall_tab_columns其中表名表名和所有者所屬組orderbycolumn_id。
sql里數(shù)據(jù)類(lèi)型nchar(10)為什么能存10個(gè)漢字,char(10)只能存5個(gè)漢字?
這取決于你的角色遵循什么編碼規(guī)則。
1,如果是單字節(jié)編碼,比如ASCII,一個(gè)字符(確切的說(shuō)是英文字符)用一個(gè)字節(jié)編碼,根據(jù)ASCII的擴(kuò)展編碼(哪種編碼規(guī)則忘記了,但可以統(tǒng)稱(chēng)為ANSI),一個(gè)漢字用兩個(gè)字符表示,那么在這個(gè)編碼規(guī)則下,存儲(chǔ)一個(gè)漢字(兩個(gè)字符)需要兩個(gè)字節(jié),char(10)需要10個(gè)字節(jié)。而不是多少字節(jié)(雖然這種編碼下得到的結(jié)果是一樣的,因?yàn)橐粋€(gè)字符對(duì)應(yīng)一個(gè)字節(jié),所以對(duì)于雙字節(jié)編碼不是這樣理解的),所以char(10)可以存儲(chǔ)10個(gè)字符,兩個(gè)字符代表一個(gè)漢字,所以最多可以存儲(chǔ)5個(gè)漢字。
2.在雙字節(jié)編碼的情況下,一個(gè)字符(這里的字符不僅包括英文字符,也包括中文字符,即漢字,以及其他字符)用兩個(gè)字節(jié)編碼,nchar()存儲(chǔ)的是UNICODE字符,采用的是雙字節(jié)編碼規(guī)則,即一個(gè)字符相當(dāng)于兩個(gè)字節(jié),但nchar(10)實(shí)際上不需要考慮字節(jié)問(wèn)題,這個(gè)10指的是字符的個(gè)數(shù),這里。
總結(jié):頭發(fā)產(chǎn)生這種懷疑的主要原因是單字節(jié)編碼并沒(méi)有把漢字等同于普通字符,比如英文字符,而是用兩個(gè)普通字符來(lái)表示一個(gè)漢字,而雙字節(jié)編碼是一視同仁的。說(shuō)到文字,指的是所有的文字,包括漢字。