mysql函数substring_index的用法

函数: 
1、从左开始截取字符串 
left(str, length) 
说明:left(被截取字段,截取长度) 
例:select left(content,200) as abstract from my_content_t

2、从右开始截取字符串 
right(str, length) 
说明:right(被截取字段,截取长度) 
例:select right(content,200) as abstract from my_content_t

mysql中一个很好用的截取字符串的函数:substring_index。

用法规则:

substring_index(“待截取有用部分的字符串”,“截取数据依据的字符”,截取字符的位置N)

具体例子:

首先假定需要截取的字符串为“15,151,152,16”(虽然这里指的不是iP,可以看作是ip结构来处理吧),

这里截取的依据是逗号:“,”

具体要截取第N个逗号前部分的字符;

意思是:在字符串中以逗号为索引,获取不同索引位的字符

结果如下:

取第一个逗号前的字符串 :

SELECT SUBSTRING_INDEX(‘15,151,152,16‘,‘,‘,1); ==>得到结果为: 15

N可以为负数,表示倒数第N个索引字符后面的字符串。

(有负号的时候,可以将整个字符倒过来看,依旧是第N个字符前面的部分。)
SELECT SUBSTRING_INDEX(‘15,151,152,16‘,‘,‘,-1);==>得到结果为: 16

取第2个逗号前那部分字符串里,最后逗号后面的部分

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(‘15,151,152,16‘,‘,‘,2),‘,‘,-1);==>得到结果为: 151

取倒数第二个逗号后面部分字符串,再去这部分里第一个都号前的部分:

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(‘15,151,152,16‘,‘,‘,-2),‘,‘,1);==> 得到结果为:152

SELECT SUBSTRING_INDEX(‘15,151,152,16‘,‘,‘,-1);==>得到结果为: 16

原文地址:https://www.cnblogs.com/pangang-test/p/9610971.html

时间: 2024-10-13 04:04:54

mysql函数substring_index的用法的相关文章

MySQL 函数大全及用法示例

1.字符串函数ascii(str)   返回字符串str的第一个字符的ascii值(str是空串时返回0)  mysql> select ascii('2');  -> 50  mysql> select ascii(2);  -> 50  mysql> select ascii('dete');  -> 100 ord(str)   如果字符串str句首是单字节返回与ascii()函数返回的相同值. 如果是一个多字节字符,以格式返回((first byte ascii

MySQL函数大全及用法示例

1.字符串函数ascii(str)   返回字符串str的第一个字符的ascii值(str是空串时返回0)  mysql> select ascii('2');  -> 50  mysql> select ascii(2);  -> 50  mysql> select ascii('dete');  -> 100 ord(str)   如果字符串str句首是单字节返回与ascii()函数返回的相同值. 如果是一个多字节字符,以格式返回((first byte ascii

MySQL函数大全 及用法示例

字符串函数 ASCII(str)    返回字符串str的第一个字符的ASCII值(str是空串时返回0)  mysql> select ASCII('2');   -> 50  mysql> select ASCII(2);   -> 50  mysql> select ASCII('dete');   -> 100   ORD(str)    如果字符串str句首是单字节返回与ASCII()函数返回的相同值. 如果是一个多字节字符,以格式返回((first byte

mysql 函数substring_index()

函数: 1.从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my_content_t 2.从右开始截取字符串 right(str, length) 说明:right(被截取字段,截取长度) 例:select right(content,200) as abstract from my_content_t 3.截取字符串 substring(str, pos) s

mysql 函数substring_index() 截取字符串

函数: 1.从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my_content_t 2.从右开始截取字符串 right(str, length) 说明:right(被截取字段,截取长度) 例:select right(content,200) as abstract from my_content_t 3.截取字符串 substring(str, pos) s

MySQl 截取函数 left(),right(),substring(),substring_index() 的用法

1. 字符串截取:left(str, length) mysql> select left('sqlstudy.com', 3); +-------------------------+ | left('sqlstudy.com', 3) | +-------------------------+ | sql | +-------------------------+ 2. 字符串截取:right(str, length) mysql> select right('sqlstudy.com',

mysql函数之SUBSTRING_INDEX(str,"/",-1)

SUBSTRING_INDEX的用法: •SUBSTRING_INDEX(str,delim,count) 在定界符 delim 以及count 出现前,从字符串str返回自字符串.若count为正值,则返回最终定界符(从左边开始) 若为-1则是从后往前截取 SELECT substring_index('Hn_P00001', 'P', -1)  -- 结果是00001 concat('1','2','3')可以拼接3个值 -1是从右往左遇到第一个/(不包含第一个/),返回2017120517

mysql函数大全

mysql函数大全 对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NULL. mysql> select ASCII('2');    -> 50mysql> select ASCII(2);    -> 50mysql> select ASCII('dx');    -> 100也可参见ORD()函数. ORD(str) 如果字符串str最

mysql字符串操作相关函数用法总结

功能用法简单例子一览表 函数 功能 用法 例子 left() 从字符串左边为边界返回相应长度的子字符串 left(str, length) mysql> select left('vssf',3); +----------------+ | left('vssf',3) | +----------------+ | vss            | +----------------+ 1 row in set (0.00 sec) right() 从字符串右边为边界返回相应长度的子字符串 ri