irpas技术客

[Mysql] LENGTH函数_山茶花开时。_length mysql

网络 3869

LENGTH函数用于返回字符串的字节长度,长度单位为字节

使用uft8编码字符集时,一个汉字是3个字节,一个数字或字母是一个字节

与CHAR_LENGTH函数的区别

CHAR_LENGTH函数用于返回字符串的长度,长度单位为字符,不管汉字,数字或是字母都算是一个字符,包括中英文标点符号,空格也算是一个字符

举例:对于包含5个三字节字符的字符串,LENGTH()函数返回15, ?而CHAR_LENGTH()函数返回5

扩展资料: CHAR_LENGTH函数

语法结构

LENGTH(str)

str:计算长度的字符串

示例

-- 4 SELECT LENGTH('text'); -- 5 SELECT LENGTH('12345'); -- 9 SELECT LENGTH('数据库'); -- 0 SELECT LENGTH(''); -- 2 空格是一个字节 SELECT LENGTH(' '); -- 3 英文标点符号是一个字节 SELECT LENGTH('...'); --- 9 中文标点符号是3个字节, SELECT LENGTH('。。。'); -- Null SELECT LENGTH(NULL); -- CHAR_LENGTH函数用于返回字符串的长度,长度单位为字符 -- 4 SELECT CHAR_LENGTH('text'); -- 5 SELECT CHAR_LENGTH('12345'); -- 3 SELECT CHAR_LENGTH('数据库');

案例

通过length()<>char_length()可以用来检验是否含有中文字符

导入数据

DROP TABLE IF EXISTS `students`; CREATE TABLE `students` ( `id` int(11) NOT NULL, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; INSERT INTO `students` VALUES ('1', 'Odin'); INSERT INTO `students` VALUES ('2', '小胡'); INSERT INTO `students` VALUES ('3', 'Jack'); INSERT INTO `students` VALUES ('4', 'Bob'); INSERT INTO `students` VALUES ('5', '星星');

students表

-- 检验是否含有中文字符 SELECT NAME FROM students WHERE LENGTH(NAME) <> CHAR_LENGTH(NAME);

结果展示:


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #length #MySQL