VARCHAR是MySQL中常用的數(shù)據(jù)類(lèi)型,但其單位究竟是字符還是字節(jié)呢?
納雍網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)成立于2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
經(jīng)過(guò)查閱,MySQL的 官方文檔 給出了答案:
4.1及之后的版本,VARCHAR的單位是字符;4.1之前的版本,VARCHAR的單位是字節(jié)。(As of version 4.1 , MySQL interprets length specifications in character column definitions in character units . (Before MySQL 4.1, column lengths were interpreted in bytes .) This applies to CHAR, VARCHAR and the TEXT types.)
同時(shí)官方文檔也提到,4.1及之后的版本以UTF-8作為預(yù)定義字符集。(VARCHAR is shorthand for CHARACTER VARYING. NATIONAL VARCHAR is the standard SQL way to define that a VARCHAR column should use some predefined character set. MySQL 4.1 and up uses UTF8 as this predefined character set .)
在 Go 語(yǔ)言中,是不能用 len 函數(shù)來(lái)統(tǒng)計(jì)字符串中的字符個(gè)數(shù)的,這是因?yàn)樵?Go 中,字符串是以 UTF-8 為格式進(jìn)行存儲(chǔ)的,在字符串上調(diào)用 len 函數(shù),取得的是字符串包含的 byte 的個(gè)數(shù)。
那么如何在Go語(yǔ)言中獲取字符串中的字符個(gè)數(shù)呢?有下面幾種方法:
測(cè)試發(fā)現(xiàn)速度最快的是 utf8.RuneCountInString()
可以寫(xiě)個(gè)觸發(fā)器來(lái)進(jìn)行修改。在對(duì)表插入數(shù)據(jù)的時(shí)候觸發(fā)器自動(dòng)對(duì)插入字段內(nèi)容進(jìn)行修改,把10修改為10m。
"定義varchar類(lèi)型的字段,長(zhǎng)度設(shè)置為10,"由于是非unicode字符串類(lèi)型,1字節(jié)=8位,所以最多輸入10個(gè)英文或5個(gè)漢字.
若"你定義nvarchar類(lèi)型的字段,長(zhǎng)度設(shè)置為10,"那么屬于unicode字符串類(lèi)型,1字節(jié)=16位,所以最多輸入10個(gè)英文或10個(gè)漢字.
新聞標(biāo)題:mysql里怎么輸入單位,表格怎么輸入單位
標(biāo)題來(lái)源:http://m.kartarina.com/article38/heijsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、電子商務(wù)、全網(wǎng)營(yíng)銷(xiāo)推廣、App開(kāi)發(fā)、網(wǎng)站排名、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)