-
思路(参考CSDN): 第一步:剔除字符串"10,A,B"中的逗号 → 可以用空字符串替代逗号 (REPLACE字符串语句) 第二步:原来字符串的长度 - 剔除逗号后字符串的长度 = 原字符串中逗号的个数(CHAR_LENGTH语句)
-
REPLACE字符串函数(注意和用于插入和更新的用法区分):用新的字符串替换表的列中的字符串。
REPLACE()字符串函数语法如下:
REPLACE(str,old_string,new_string);
REPLACE()函数有三个参数,它将string中的old_string替换为new_string字符串。
-
LENGTH():返回字符串的字节长度。
CHAR_LENGTH():返回字符串中的字符个数。
1个英文字母/数字 = 1个字节,1个汉字 = 3个字节.
因此个人认为本题更严谨的做法为:REPLACE()函数 + CHAR_LENGTH()函数
完整代码:
SELECT CHAR_LENGTH("10,A,B) - CHAR_LENGTH(REPLACE("10,A,B",",""))
AS cnt;
参考:
1)CSDN https://blog.csdn.net/qq_40722582/article/details/105314967
2)REPLACE()语句 https://www.yiibai.com/mysql/string-replace-function.html