mysql截取子串后更新
Posted 好大的月亮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql截取子串后更新相关的知识,希望对你有一定的参考价值。
先上几个基本函数
locate 显示子串的位置
返回子串在串中第n位置开始第一次出现的位置, 其中n可以省略,n默认为1,位置的初始值从1开始;若子串不在串中,返回值为0;
locate(substr, str, [n])
substring 截取字符串
从字符串的第pos个字符位置开始取,长度为len, 其中len可以省略,若len省略,则取后面所有子串;
另外,len为正,表示正向取,len为负,表示倒数开始取;
substring(str, pos, [len])
substring_index 按照关键字截取字符串
表示从头取子串,delim为关键字,count为关键字出现的次数
substring_index(str, delim, count)
查询截取后的子串demo
select
SUBSTRING(
'http://xxx-android.static.xxx.cn/http://saas-android.static.xxx.cn/e39f5468cb1e4b3dbe5acddb3436b1d7.png'
,
LOCATE('http://xxx-android.static.xxx.cn','http://saas-android.static.xxx.cn/http://saas-android.static.xxx.cn/e39f5468cb1e4b3dbe5acddb3436b1d7.png', 2)
)
更新截取后的子串demo
update
order_detail od
INNER JOIN
(
SELECT
detail_id
FROM
`order_detail`
WHERE
product_icon LIKE 'http://saas-android.static.xxx.cn/http://saas-android.static.xxx.cn%'
) a
on od.detail_id = a.detail_id
set
od.product_icon = SUBSTRING(
#被截取的字符串
od.product_icon,
#子串在数据中第几次出现的位置,默认第一次
LOCATE( 'http://saas-android.static.xxx.cn', od.product_icon, 2 )
)
以上是关于mysql截取子串后更新的主要内容,如果未能解决你的问题,请参考以下文章