在MySQL中length(str)、char_length(str)都属于判断长度的内置函数,根据其得到字符串的长度。这两个方法的区别是我们面向SQL编程时容易采坑的地方,本文带你通俗易懂的了解这两个知识点。
方法概述:
- char_length(str)
1.计算单位:字符
2.不管汉字还是数字或者是字母都算是一个字符
- length(str)
1.计算单位:字节
2.utf8编码:一个汉字三个字节,一个数字或字母一个字节。
3.gbk编码:一个汉字两个字节,一个数字或字母一个字节。
用法示例:
(1)查看某字符串的长度(比如本站网址)
SELECT LENGTH('www.baidu.com');
-- 返回值:13
(2)查询应用表(app_info)中标题(appName)最长的10篇文章
length(str):
-- appName字节长度前10;
SELECT appName FROM app_info ORDER BY LENGTH(appName) LIMIT 10;
char_length(str):