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截取子串后更新的主要内容,如果未能解决你的问题,请参考以下文章

[Js-MySQL]函数

Mysql 截取字符串取子集的函数应用

正则并不适合严格查找子串

sql 截取字符串[转自网络]

mysql基础进阶

是否可以更新钥匙串项目的 kSecAttrAccessible 值?