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.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。 |