MySQL的字符串截取函数

MySQL字符串截取函数有:left(),right(),substring(),substring_index(),还有mid() ,subset()。但mid() ,subset()和substring()功能一样。所以会用substring()就行了。

为方便起见,所以在本次MySQL连接中设置了一个用户自定义变量,字符串@str,以方便下面多次对其的操作。

1、自定义变量设定的sql:

set @str:='www.hao123.com.cn'; -- 注意:MySQL中字符下标从 1 开始,如本例中str下标为:1~17。不同于编程语言中数组下标从0开始。


2、left()

-- left(str,len) 
-- 从字符串的第3个位置开始截取
select left(@str,3)  -- 结果:www



3、right()

-- right(str,len)
-- 从字符串倒数(右侧)第3个位置开始截取
select right(@str,3)   -- 结果:.cn


4、substring()

-- substring(str FROM pos FOR len)
-- 从字符串的第1个位置,截取长度为4
select substring(@str from 1  for 4)  -- 结果:www.

-- substring(str FROM pos)
-- 从字符串的第4个位置,到结尾为止
select substring(@str from 4)  -- 结果:.hao123.com.cn

-- substring(str,pos,len)
-- 从字符串的第1个位置,截取长度为4
select substring(@str,1,4)  -- 结果:www.

-- substring(str,pos)
-- 从字符串的第4个位置,到结尾为止
select substring(@str,4)  -- 结果:.hao123.com.cn

-- substring(str FROM pos FOR len)
-- 从字符串倒数第5个位置开始截取,截取长度为3
select substring(@str from  -5 for 3)  -- 结果:om.

-- substring(str FROM pos)
-- 从字符串倒数第4个为止开始截取,到字符串结束
select substring(@str from -4)  -- 结果:m.cn

-- substring(str,pos,len)
-- 从字符串倒数第5个位置开始截取,截取长度为3
select substring(@str,-5,3)  -- 结果:om.

-- substring(str,pos)
-- 从字符串倒数第4个为止开始截取,到字符串结束
select substring(@str,-4)  -- 结果:m.cn



5、substring_index()

-- substring_index(str,delim,count)
-- 从字符串第1个位置开始,到关键字出现的第2个位置的前(左)1位为止
select substring_index(@str,'.',2)  -- 结果:www.hao123
-- 如果找不到关键字,则返回整个字符串
select substring_index(@str,'。',2)  -- 结果:www.hao123.com.cn
select substring_index(@str,'.',10)  -- 结果:www.hao123.com.cn

-- substring_index(str,delim,count)
-- 注意:取出开始位置:关键字倒数第2次出现的位置的下(右)1位
--      取出结束位置:给定字符串最后1位
select substring_index(@str,'.',-2)  -- 结果:com.cn 
-- 找不到关键字,则返回整个字符串
select substring_index(@str,'.',-10)  -- 结果:www.hao123.com.cn 



你可能感兴趣的:(函数,substring)