1.截取字符串:substrate()
语法:substr(string string,num start,num length);
select substr(参数1,参数2,参数3) from 表名
string | 必需。需要被截取的字符串 |
start | 必需。开始截取的位置 |
length | 必需。需要截取的字符串长度 |
注意:mysql中的start是从1开始的
2.删除字符串:trim()
语法:
TRIM([BOTH/LEADING/TRAILING] 目标字符串 FROM 源字符串)
说明:
TRIM() | 删除前后的空格 |
RTRIM() | 删除字符串结尾的空格 |
LTRIM() | 删除字符串起始的空格 |
3.切割字符串:substring_index()
语法:SUBSTRING_INDEX(string, delimiter, number)
说明:
string | 必需。是需要进行操作的字符串 |
delimiter | 必需。需要进行搜索的分隔符 |
number | 必需。 该值可以是正数,也可以是负数。其通过搜索delimiter来确定获取的是分隔符那一部分的值, 如果它是一个正数,这个函数返回所有delimiter的左边。 如果是负数,这个函数返回delimiter右边的所有。 |
如果想获取中间的字符串需要进行两次切割将其进行嵌套使用,如下面的例子:
select substring_index(substring_index(profile,',',3),',',-1) age,
count(device_id) as number
from user_submit
group by age;
4.替换字符串:replace()
语法:REPLACE(string, substring, new_string)
说明:
string | 必需。原字符串 |
substring | 必需。被替换的子串 |
new_string | 必需。新的替换子串 |
select device_id,substr(blog_url,11,length(blog_url)-10) //截取字符串
device_id,substring_index(blog_url,'/',-1) as user_name //切割字符串
device_id,trim('http:/url/' from blog_url) as user_name //删除部分字符串
device_id,replace(blog_url, 'http:/url/','') as user_name //替换
from user_submit
输出结果