MySql 字符串类型与字符串长度统计函数_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1870 | 回复: 0   主题: MySql 字符串类型与字符串长度统计函数        下一篇 
wayne
注册用户
等级:中校
经验:1690
发帖:221
精华:0
注册:2011-7-21
状态:离线
发送短消息息给wayne 加好友    发送短消息息给wayne 发消息
发表于: IP:您无权察看 2015-10-30 17:19:39 | [全部帖] [楼主帖] 楼主

mysql中 char(n) ,varchar(n) 中n表示字符串的最大长度(最大字符数,不是字节数)。

一个汉字占三个字节,一个字母或数字只占一个字节。

如一个vhachar(6)的字段最多可以插入6个汉字,或6个字母,或6个数字。

如果是汉字,那么他的长度是6×3=18 个字节 。如果是字母或数字,那么他的长度是6×1=6个字节 

mysql> desc t;
 +-------+------------+------+-----+---------+-------+
 | Field | Type       | Null | Key | Default | Extra |
 +-------+------------+------+-----+---------+-------+
 | fname | char(3)    | YES  |     | NULL    |       |
 | lname | varchar(6) | YES  |     | NULL    |       |
 +-------+------------+------+-----+---------+-------+
 
 mysql> select * from t;
 +-------+----------+
 | fname | lname    |
 +-------+----------+
 | 中    | 中国人民 |
 +-------+----------+


mysql中获取字符串长度的有两个函数:

length:返回字符串所占的字节数

char_length:返回字符串所占的字符数

mysql> select LENGTH(fname)  , LENGTH(lname) from t ;
 +---------------+---------------+
 | LENGTH(fname) | LENGTH(lname) |
 +---------------+---------------+
 |             3 |            12 |
 +---------------+---------------+
 
 
 mysql> select char_length(fname) ,char_length(lname) from t;
 +--------------------+--------------------+
 | char_length(fname) | char_length(lname) |
 +--------------------+--------------------+
 |                  1 |                  4 |
 +--------------------+--------------------+

                            


                                                                                                                               --转自



赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论