| 函数 | 功能 |
|---|---|
| LOCATE(substr , str ) | 返回子串 substr 在字符串 str 中第一次出现的位置,如果字符substr在字符串str中不存在,则返回0 |
| POSITION(substr IN str ) | 返回子串 substr 在字符串 str 中第一次出现的位置,如果字符substr在字符串str中不存在,与LOCATE函数作用相同 |
| LEFT(str, length) | 从左边开始截取str,length是截取的长度 |
| RIGHT(str, length) | 从右边开始截取str,length是截取的长度 |
| SUBSTRING_INDEX(str ,substr ,n) | 返回字符substr在str中第n次出现位置之前的字符串 |
| SUBSTRING(str ,n ,m) | 返回字符串str从第n个字符截取到第m个字符 |
| REPLACE(str, n, m) | 将字符串str中的n字符替换成m字符 |
| LENGTH(str) | 计算字符串str的长度 |
下面举个例子说明一下
描述:
题目:现在运营举办了一场比赛,收到了一些参赛申请,表数据记录形式如下所示,现在运营想要统计每个性别的用户分别有多少参赛者,请取出相应结果
| device_id | profile | blog_url |
|---|---|---|
| 2138 | 180cm,75kg,27,male | http:/url/bigboy777 |
| 3214 | 165cm,45kg,26,female | http:/url/kittycc |
| 6543 | 178cm,65kg,25,male | http:/url/tiger |
| 4321 | 171cm,55kg,23,female | http:/url/uhksd |
| 2131 | 168cm,45kg,22,female | http:/urlsydney |
根据示例,你的查询应返回以下结果:
| gender | number |
|---|---|
| male | 2 |
| female | 3 |
对应的SQL如下:
select substring_index(profile,',',-1) as gender,count(0) as number
from user_submit
group by gender
本文通过示例介绍了SQL中的几个关键函数,如LOCATE, POSITION, LEFT, RIGHT等,用于字符串操作。同时,展示了如何使用SUBSTRING_INDEX和SUBSTRING进行数据截取,以及使用REPLACE替换字符串中的字符。此外,还提到了LENGTH函数计算字符串长度。最后,通过一个实际问题——统计不同性别的参赛者数量,演示了如何结合这些函数进行数据分组和计数。
753

被折叠的 条评论
为什么被折叠?



