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

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个字符
 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值