MySql 字符串类型与字符串长度统计函数

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 |
+--------------------+--------------------+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值