`
lbyzx123
  • 浏览: 466827 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

MySQL varchar保存汉字和字母长度

阅读更多
MySQL 5.0以上的版本: 
 
1.一个汉字占多少长度与编码有关: 
UTF-8:一个汉字=3个字节 
GBK:一个汉字=2个字节 
 
 
2.varchar(n)表示n个字符,无论汉字和英文,Mysql都能存入n个字符,但是实际字节长度有所区别 
 
3.MySQL检查长度,可用SQL语言: 
select LENGTH(fieldname) from tablename 来查看。


最近发现 Oracle 和 MySQL 的字段长度的计算不一样(都是UTF8编码),比如:

在Oracle下定义: name varchar2(10) , name字段能存放: 10个字符或3个汉字

在MySQL下定义: name varchar(10),  name字段能存放: 10个字符或10个汉字。

经查:MySQL5 以后 varchar 的单位是 字符了, 而 oracle 的varchar2 是字节。


length:   是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符

CHAR_LENGTH(str) 返回值为字符串str 的长度,长度的单位为字符。

 

一个多字节字符算作一个单字符。对于一个包含五个二字节字符集,

LENGTH()返回值为 10,而CHAR_LENGTH()的返回值为5。

 

CHARACTER_LENGTH(str) CHARACTER_LENGTH()是CHAR_LENGTH()的同义词。

BIT_LENGTH(str) 返回2进制长度.

 

分享到:
评论

相关推荐

    Mysql中varchar长度设置方法

    主要介绍了Mysql中varchar长度设置方法的相关资料,本文还给大家带来了valar类型的变化及char()和varchar()的区别介绍,非常不错,具有参考借鉴价值,需要的朋友可以参考下

    MySQL动态修改varchar长度的方法

    主要介绍了MySQL动态修改varchar长度的方法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

    Mysql varchar大小长度问题介绍

    如果被 varchar 超过上述的 b 规则,被强转成 text 类型,则每个字段占用定义长度为 11 字节,当然这已经不是 varchar 了

    对比MySQL中int、char以及varchar的性能

    在本篇文章中我们给大家分享了关于MySQL中int、char以及varchar的性能对比的相关内容,有兴趣的朋友们学习下。

    mysql VARCHAR的最大长度到底是多少

    今天群里有人问varchar 不是最大应该只可以设置65532(第一个字节+两个长度字节)吗 ,但是为什么可以设置成65533

    mysql varchar类型求和实例操作

    有的小伙伴在学习数据库的时候,创建表结构的时候不小心把某字段设置成了varchar但是在统计求和的时候...4、以上适用于整数,或者是数据量小,要是数据量太大,并且精度较高不适用,那么就可以考虑使用MySQL 的CAST()和

    char和varchar在mysql中的效率怎样.docx

    char和varchar在mysql中的效率怎样.docx

    MYSQL中 char 和 varchar的区别

    CHAR和VARCHAR相同的是:CHAR和VARCHAR都指定了字符长度,注意是字符长度。例如char(30) 和 varchar(30)表示都可以存30个字符。有一点要注意的是在utf8mb4编码中,每个字符占4个节点。在utf8中,每个字符占3个字节。...

    MySQL中字段类型char、varchar和text的区别

    在MySQL中,char、varchar和text类型的字段都可以用来存储字符类型的数据,char、varchar都可以指定最大的字符长度,但text不可以。 它们的存储方式和数据的检索方式也都不一样。 数据的检索效率是:char > varchar ...

    MySQL中把varchar类型转为date类型方法详解

    先使用str_to_date函数,将其varchar类型转为日期类型,然后从小到大排序 语法:select str_to_date(class_time,’%Y%m%d %H:%i:%s’) a from a order by a desc ; 下面接着看下oracle中varchar类型的日期格式转换...

    探究MySQL中varchar的定义长度

    主要介绍了探究MySQL中varchar的定义长度,文中主要对其长度究竟是字节还是字符做出了相关实验,需要的朋友可以参考下

    mysql首字母拼音搜索title

    #获取字符的编码范围的位置,为了确认汉字拼音首字母是那一个 SET tmp_loc=INTERVAL(CONV(HEX(tmp_char),16,10),0xB0A1,0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7,0xBFA6,0xC0AC ,0xC2E8,0xC4C3,0xC...

    mysql 中如何取得汉字字段的各汉字首字母

    DROP FUNCTION IF EXISTS `getPY`; DELIMITER ;; CREATE FUNCTION `getPY`(in_string VARCHAR(65534)) RETURNS mediumtext CHARSET utf8 BEGIN DECLARE tmp_str VARCHAR(65534) ...#tmp_str的长度 DECLARE tmp_char VAR

    MySQL索引长度限制原理解析

    这篇文章主要介绍了MySQL索引长度限制原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 索引 TextField是不支持建立索引的 MySQL对索引字段长度有限制 ...

    MySQL CHAR和VARCHAR存储、读取时的差别

    你真的知道CHAR和VARCHAR类型在存储和读取时的区别吗? 还是先抛几条结论吧: 1、存储的时候,CHAR总是会补足空格后再存储,不管用户插入数据时尾部有没有包含空格。 2、存储的时候,VARCHAR不会先补足空格后再存储...

    varchar日期字段分区demo

    Range分区:最为常用,基于属于一个给定连续区间的列值,把多行分配给分区。最常见的是基于时间字段. 基于分区的列最好是整型,如果日期型的可以使用函数转换为整型。varchar日期字段分区sql demo

    VARCHAR与CHAR字符型数据的差异.docx

    char是固定长度的,而varchar会根据具体的长度来使用存储空间,另外varchar需要用额外的1-2个字节存储字符串长度。 1). 当字符串长度小于255时,用额外的1个字节来记录长度 2). 当字符串长度大于255时,用额外的2个...

Global site tag (gtag.js) - Google Analytics