mysql字符串str 长度函数CHAR_LENGTH(str) 返回值为字符串str 的长度,长度的单位为字符。一个多字节字符算作一个单字符。对于一个包含五个二字节字符集, LENGTH()返回值为 10,而CHAR_LENGTH()的返回值为5。
直接举个例子吧:(自己弄得数据)
可以看到name是张三的work段里面包含、和汉字字符串
先看一下length和CHAR_LENGTH 的区别:
SELECT LENGTH(`work`) FROM stu
SELECT CHAR_LENGTH(`work`) FROM stu
从例子中可以直观的看出 LENGTH是计算字节长度,CHAR_LENGTH是计算字符长度
如何计算出字符串指定字符个数统计需要用到replace替换数据中的、
SELECT CHAR_LENGTH(`work`) - CHAR_LENGTH(replace(`work`, '、', ''))+1 FROM stu
oracle 和mysql还是有区别的
oracle的length是计算字符的长度,lengthb计算的是字节的长度
注:oracle
varchar2 与nvarchar2的区别
1、对于英文字符:
varchar2(6)可以最多存放6个字符
2、对于中文字符:
数据库字符集为UTF-8,varchar2(6) 最多存放2个字符
数据库字符集为ZHS16GBK,varchar2(6) 最多存放3个字符
3、不管是中文字符,还是英文字符,nvarchar2(6)都可以存放6个字符