MySQL实现字符串截取的方法有哪些
前言
在后端开发过程中与
数据库
打交道乃是家常便饭,有时候会遇到只要数据库中的某条数据的一部分,这个时候有两种方式:
(1)把其读取出来后再进行相应的处理
(2)在读取的时候利用MySQL自带的函数进行处理
接下来我们就以第二种方式为列进行总结
(1)创建一个用户表,如下:
The LEFT(col_name, length) function: extracts from left to right.。col_name是列名(必选),length是从左往右截取的长度(必选 为正整数,如果为负数则什么也没返回,下标从1开始,不是0)
A:length:整数
B:length:负数
The function right(col_name, length) extracts characters from the right-hand side of the string.。col_name是列名(必选),length是从右往左截取的长度(必须 为正整数,如果为负数则什么也没返回 下标从1开始,不是0)
A:length:整数
B:length:负数
(4)substring(col_name, start, length)函数: col_name列名(必选),start从第几个开始(必选 为整数 从1开始),length截去长度(可选,为正整数)
A:start:正整数,length未选,从左边往右边数,第三个字符开始向右边截取,直到结尾。
B:start:负整数,length未选,从右边往左边数,第三个字符开始向右边截取,直到结尾。
C:start:正整数,length:正整数;从左边往右边数,第三个字符开始向右边截取5个字符。
D:start:负整数,length:正整数;从右边往左边数,第三个字符开始向右边截取3个字符。
E:当从star开始截取,紧跟其后面的字符数
F:start:负整数,length:负整数;什么也没截取
(5)substring_index(col, a, num)函数:从第num个a来分割col,当num为正整数时,从左往右分割并左往右取;num为负整数时,从右往左分割并从右往左取。
A:以hello world 的第一个‘o’来进行分割 (分割后: hell oworld)
B:以hello world 的第二个‘o’来进行分割 (分割后: hello w orld)
C:从右往左数,以第一个‘o’进行分割(分割后:hello wo rld)
D:从右往左数,以第二个‘o’进行分割(分割后:hello world)
附:mysql相关字符串截取的函数详解
1、SUBSTRING_INDEX(subStr, matchStr, index)
根据匹配的字符以及出现的位置开始截取字符串
subStr: 需要截取的字段matchStr: 匹配的字符index: 从第几个匹配的字符,为正数时从左边开始查找并向左截取,为负数时从右边开始查找并向右截取
2、LEFT(subStr,index)
从左边开始向右截取,截至第index位(index从1开始)
subStr: 需要截取的字段index: 停止截取的位置(包括该位置的字符)
3、RIGHT(subStr,index)
从右边开始向左截取,截至从右边开始数第index位(index从1开始)
subStr: 需要截取的字段index: 停止截取的位置(包括该位置的字符)
4、SUBSTRING(subStr, index)
当index为负数时,从右边开始向左截取,截至从右边开始数第index位
当index为正数时,从左边开始向右截取,截至从左边开始数第index位
subStr: 需要截取的字段index: 停止截取的位置(包括该位置的字符)
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。