Mysql 内置了查询字符长度的函数。Length()和char_length()
- Length(): Mysql里边的length()是一个用来获取字符串长度的内置函数。
- char_length(): 也是获取字符串长度的方法
那这两个方法有什么区别呢?
length(),单位是字节,utf8编码下,一个汉字代表三个字节,中文标点符号(如:¥、?。,)也算三个字节,一个数字或一个字母一个字节。 gbk编码下,一个汉字是两个字节,一个数字或者字母是一个字节。
char_length(), 单位是字符,不管汉字还是数字或者是字母都算是一个字符。
扩展一下,Mysql5.0.3版本之后varchar类型的变化
- Mysql5.0.3 之前:0-255字节,如:varchar(20)中的20表示字节数,如果存放utf-8编码的话只能放6个汉字。varcha(n),这里的n表示字节数。
- Mysql5.0.3 之后:0-65535字节,varchar(20)表示字符数,不管什么编码,即汉字也能存放20个,但最多占65535字节(两个字节存放长度,小于255字节用一个字节存放长度),总之,varchar(n)表示字符数。
用length() <>char_length(),来校验是否包含中文字符
utf-8编码居中判定某个字段为全英文,length(字段) == char_length(字段)即可哦
谢谢观看,对您有帮助的话,别忘关注和点赞哦。。
小编推荐: year函数的使用方法(分享10个让你事半功倍的日期函数)经期可以吃明列子吗(网红兰香子能否作为食品原料使用?)欧科豆浆机使用说明(豆浆机使用介绍及保养方法)