`
lbyzx123
  • 浏览: 476085 次
  • 性别: 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大小长度问题介绍

    4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) 5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大...

    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 中如何取得汉字字段的各汉字首字母

    总结起来,这个`getPY`函数通过一系列字符串处理和字符编码转换,实现了在MySQL中获取汉字字段各汉字首字母的功能。这对于需要对汉字字段进行基于拼音的处理,如搜索、排序或建立索引,是非常有用的。

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

    - 三字节字符用于韩语、中文、日语等象形文字。 在设计数据库时,应遵循以下原则: 1. 变化频繁的字段选择`varchar`。 2. 固定长度数据使用`char`。 3. 字符长度超过255个字符的字段,使用`varchar`或`text`。 4. ...

    深入研究mysql中的varchar和limit(容易被忽略的知识)

    然而,从MySQL 4.1版本开始,VARCHAR的长度被解释为字符数,所以VARCHAR(5)可以存储5个任何字符,包括汉字、字母或数字,不受字节数限制。 在UTF-8编码下,VARCHAR(5)可以存储5个英文字符或大约1.67个汉字(每个...

    mysql第二章.pdf

    不同的数据类型有不同的特点和使用场景,比如char和varchar在存储字符串时有长度固定与长度可变的区别;而set和enum类型则用于字符串集合的表示,它们可以根据实际需要来选择。 在MySQL的运算符和表达式中,包含...

    MySQL数据库设计、优化

    1. **字符限制**:数据库对象名称应使用小写字母、数字和下划线组成,长度不超过32个字符。 2. **保留字避免**:不要使用MySQL保留字作为对象名称。 3. **语言风格统一**:命名应全英文或全中文,避免混用。 4. **...

    词典mysql库

    在MySQL中,可以使用VARCHAR或NVARCHAR数据类型来存储字符串,根据实际需求确定长度。 3. **pinyin**:词语的拼音,用于提供拼音查询功能,比如“shēnghuó”、“kējì”。拼音通常用字母表示,可以使用VARCHAR...

    MySQL的书写规范和命名规则.pptx

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,其书写规范和命名规则对于数据库的管理和维护至关重要。遵循这些规则可以提高代码的可读性、可维护性和一致性。以下是对标题和描述中所述知识点的详细说明: 1. ...

    去哪儿MySQL开发规范

    1. **库名、表名、字段名必须使用小写字母**:统一使用小写字母有助于提高代码的一致性和可读性,便于开发者识别和理解。 2. **采用下划线分割**:在多个单词构成一个名称时,应使用下划线(如 `user_info`)来...

    某行MySQL数据库开发规范

    - **使用合适的字段类型**:例如`INT`用于整数,`VARCHAR`用于可变长度字符串。 - **主键设计**:通常使用自增ID作为主键。 - **考虑冗余字段**:适当增加冗余字段,减少JOIN操作,提高查询效率。 - **规范化设计**...

    mysql数据库命名与设计标准规范.docx

    - 数据库对象的名称只能由26个英文大小写字母、0-9的数字和下划线组成,且长度不超过30个字符。变量名的长度限制为29个字符(不包括标识符@)。 - 避免使用汉字和空格,同时注意避开数据库系统或SQL语言的保留词。...

    MySQL数据库开发规范

    - 字符串类型使用`varchar`时必须指定长度,且长度通常不大于实际需求的两倍。 - 避免使用`char(m)`字符串类型。 - 默认情况下,不添加预留字段。 - 关联表之间相同字段的数据类型和长度必须保持一致。 **修改表...

    MYSQL数据库命名及设计规范宣贯.pdf

    4. **字符规范**:数据库对象命名只能使用英文字母(区分大小写)、数字和下划线,并且长度有限制,禁止使用中文和空格,避免与保留词冲突。 5. **数据库和表命名规范**:数据库和表名使用小写英文和下划线,前缀...

Global site tag (gtag.js) - Google Analytics