mysql中:获取字符串长度length函数和char_length函数的区别
先上结论:
length函数:
计算值的长度-但1个中文会算作长度3,1个数字或者字母-算作长度1;
char_length函数:
计算值的长度-但1个中文或者1个数字或者字母-都算作长度1;
sql结果:
所以:
在统计无中文值的字段值长度时:
length函数和char_length函数效果一样;
有中文值时:
最好使用char_length函数,免得出现误差;
对了还有个用处:
通过length()<>char_length()可以用来检验是否含有中文字符
疑问:为什么length一个中文算作长度3?
查了些资料,发现大家都是只说了结论.但未提及原因;
正好最近也看些字符编码的东西;
所以大胆猜测:
length在统计长度时统计的是字符编码的字节长度;
而char_length函数则是直接统计的字符长度;
而造成大家结果的一致性的原因就是大家使用的都是utf-8编码;
所以:得到的结果就是都是一个中文3个长度;
附:编码的文章链接:
https://blog.csdn.net/weixin_44903702/article/details/110287013.
个人猜测未证实,查源码也没找到…  ̄▽ ̄
有大佬知道的,还请指点指点小弟;
mysql中:获取字符串长度length函数和char_length函数的区别相关推荐
- (转)Shell中获取字符串长度的七种方法
Shell中获取字符串长度的七种方法 原文:http://blog.csdn.net/jerry_1126/article/details/51835119 求字符串操作在shell脚本中很常用,下面 ...
- golang中获取字符串长度的办法
1.不同字符与获取字符串长度 获取字符串长度,是字符串操作的重要方法.理论来说,获取字符串长度,只要从头到尾查找一遍就可以了.但遗憾的是,不同字符具有不同的编码格式.拉丁字母一个字符只要一个字节就行, ...
- Lua中获取字符串长度
偶然的情况下,需要用Lua代码获取字符串的长度,结果发现结果和自己想象的不一样,一个汉字算两个英文字符的时代已经快过去了,一个中文字符打印出来的长度为3,引起了我的好奇,查找资料了解了具体原因 不同的 ...
- TIA博途WINCC的触摸屏VB脚本入门(Len函数获取字符串长度以及Right和Left函数)
TIA博途WINCC的触摸屏VB脚本入门(Len函数获取字符串长度以及Right和Left函数) 首先,建立一个项目,并添加一个HMI,入下图所示,新建一个HMI变量表,添加如下几个HMI内部变量, ...
- Shell中获取字符串长度的七种方法
求字符串操作在shell脚本中很常用,下面归纳.汇总了求字符串的几种可能方法: [方法一]:利用${#str}来获取字符串的长度 [方法二]:利用awk的length方法 备注: 1) 最好用{}来放 ...
- Lua中获取字符串长度整理
在 Lua 中,获取字符串长度我们一般使用 #str(不建议使用 string.len(str) )! local str = "abc" local len = #str pri ...
- Unity中获取字符串长度、Unicode字符数量和编码ASCII,UTF,GBK的区别
1.String.Length,String.ToCharArray,StringInfo,Encoding.UTF8.GetByteCount的区别: String.Length:获取的是字符串中C ...
- PHP中获取字符串长度的使用方法
函数有strlen().mb_strlen()是通过计算字符串所占字节数来统计字符串长度,一个英文字符占1字节. 例如: $enStr = 'happy'; echo strlen($enStr); ...
- String获取字符串长度--length方法
package com;public class GetStringLength {public static void main(String[] args) {String str="明 ...
最新文章
- Cisco HSRP热备份路由器协议配置
- C语言 · 求存款
- 删除桌面上淘宝商城,高清电影,精彩小游戏图标
- 科大星云诗社动态20220102
- 苏州市计算机音乐学会地点,苏州市音乐家协会小提琴学会成立
- 解除被DenyHosts锁定的IP地址
- Repeater 得到checkbox值
- HDU2106 decimal system
- 介绍一关于Navier-Stokes方程的神级博文
- [ARM] ARM处理器寻址方式
- 纽约大学的好奇AI特别会提问,桌游玩得比人还666
- VUE3-Cesium(加载GeoJSON、KML、KMZ数据)
- idefo功能模型图_如何画架构图?
- mysql练习题库一
- MySQL报错:Data too long for column
- STorM32 BGC 相关
- 1.1.3操作系统的发展与分类(多道批处理 单道批处理系统 分时操作系统 实时操作系统)
- 炒货币赚钱吗 炒数字货币赚钱吗
- PyQt5教程(八)——实现QQ登录界面(二、加载资源文件)
- kuangbin 专题一 简单搜索