sql拆分字符串 + 字符串指定字符个数统计

时间:2024-03-22 10:47:56

mysql字符串str 长度函数CHAR_LENGTH(str) 返回值为字符串str 的长度,长度的单位为字符。一个多字节字符算作一个单字符。对于一个包含五个二字节字符集, LENGTH()返回值为 10,而CHAR_LENGTH()的返回值为5。

直接举个例子吧:(自己弄得数据)

 

sql拆分字符串 + 字符串指定字符个数统计

可以看到name是张三的work段里面包含、和汉字字符串

先看一下length和CHAR_LENGTH 的区别:

SELECT LENGTH(`work`) FROM stu

sql拆分字符串 + 字符串指定字符个数统计

SELECT CHAR_LENGTH(`work`) FROM stu

sql拆分字符串 + 字符串指定字符个数统计

从例子中可以直观的看出 LENGTH是计算字节长度,CHAR_LENGTH是计算字符长度

如何计算出字符串指定字符个数统计需要用到replace替换数据中的、

SELECT CHAR_LENGTH(`work`) - CHAR_LENGTH(replace(`work`, '、', ''))+1 FROM stu

sql拆分字符串 + 字符串指定字符个数统计

oracle 和mysql还是有区别的

oracle的length是计算字符的长度,lengthb计算的是字节的长度

sql拆分字符串 + 字符串指定字符个数统计

注:oracle

varchar2 与nvarchar2的区别

1、对于英文字符:

  varchar2(6)可以最多存放6个字符

2、对于中文字符:

  数据库字符集为UTF-8,varchar2(6) 最多存放2个字符

  数据库字符集为ZHS16GBK,varchar2(6) 最多存放3个字符

3、不管是中文字符,还是英文字符,nvarchar2(6)都可以存放6个字符