从品牌网站建设到网络营销策划,从策略到执行的一站式服务
VARCHAR是MySQL中常用的数据类型,但其单位究竟是字符还是字节呢?
纳雍网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联成立于2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
经过查阅,MySQL的 官方文档 给出了答案:
4.1及之后的版本,VARCHAR的单位是字符;4.1之前的版本,VARCHAR的单位是字节。(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.)
同时官方文档也提到,4.1及之后的版本以UTF-8作为预定义字符集。(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 语言中,是不能用 len 函数来统计字符串中的字符个数的,这是因为在 Go 中,字符串是以 UTF-8 为格式进行存储的,在字符串上调用 len 函数,取得的是字符串包含的 byte 的个数。
那么如何在Go语言中获取字符串中的字符个数呢?有下面几种方法:
测试发现速度最快的是 utf8.RuneCountInString()
可以写个触发器来进行修改。在对表插入数据的时候触发器自动对插入字段内容进行修改,把10修改为10m。
"定义varchar类型的字段,长度设置为10,"由于是非unicode字符串类型,1字节=8位,所以最多输入10个英文或5个汉字.
若"你定义nvarchar类型的字段,长度设置为10,"那么属于unicode字符串类型,1字节=16位,所以最多输入10个英文或10个汉字.
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图