统计字段值中的特殊字符

偶然遇到的一个问题,一个字段值记录着一段字符串,字符出由逗号和数字(id)隔开,需要用sql语句查该字段值中数字的个数(id数)。

1
2
3
4
5
6
7
8
mysql>select * from test; 
+------------------+
| ids |
+------------------+
| 123,4,567,22,798 |
| 1233,4,45,33,32 |
+------------------+
2 rows in set (0.00 sec)

好在有大神相助,请教了大神,大神立马解决了,语句如下(感觉这种用法太犀利了,id数就是逗号数加1)

1
2
3
4
5
6
7
8
mysql>select length(ids)-length(replace(ids, ',', '')) from test; 
+-------------------------------------------+
| length(ids)-length(replace(ids, ',', ''))
| +-------------------------------------------+
| 4 |
| 4 |
+-------------------------------------------+
2 rows in set (0.00 sec)

注意:sql server2008中是len函数。

----------------本文结束 感谢阅读----------------