mysql截取替换 mysql替换字段字符中某一段值

作者:Davidszhou   来源:SEO优化博客   时间:2021-05-15 00:36:31   点击:

 mysql截取替换 mysql替换字段字符中某一段值

 
 
完整的样例mysql截取替换语句:
UPDATE davids_content SET davids_title = CONCAT_WS(' ',SUBSTRING(davids_title,1,INSTR(davids_title,'之')-1),SUBSTRING(davids_title,INSTR(davids_title,'之')+1,CHAR_LENGTH(davids_title)))
 
分解:
1)mysql函数:INSTR
返回字符串 str 中子字符串的第一个出现位置。这和LOCATE()的双参数形式相同,除非参数的顺序被颠倒;白话就是返回特征字符在字符串出现的第一个未知
解释:
INSTR(davids_title,'之')-1:返回'之'字在字符串出现第一个位置索引数
2)SUBSTRING函数:
格式样式:SUBSTRING(str,pos) , SUBSTRING(str FROM pos) SUBSTRING(str,pos,len) , SUBSTRING(str FROM pos FOR len)
不带有len 参数的格式从字符串str返回一个子字符串,起始于位置 pos。带有len参数的格式从字符串str返回一个长度同len字符相同的子字符串,起始于位置 pos。 使用 FROM的格式为标准 SQL 语法。也可能对pos使用一个负值。假若这样,则子字符串的位置起始于字符串结尾的pos 字符,而不是字符串的开头位置。在以下格式的函数中可以对pos 使用一个负值。具体可以翻阅一下手册
SUBSTRING(davids_title,1,INSTR(davids_title,'之')-1):从字符串第一个字符开始,截取的长度是'之'字索引-1的长度
SUBSTRING(davids_title,INSTR(davids_title,'之')+1,CHAR_LENGTH(davids_title))):从'之'字索引后一个字符开始,截取直到最后一个字符
得到不带截取字符的两端内容,用CONCAT_WS函数以空格的形式进行拼接成新字符
3)CONCAT_WS函数:
CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。   第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。
 

TAGS:mysql , 截取 , 替换

来自Davids zhou博客原创文章请尊重作者:http://www.zongk.com/zongk/139.html转载请标注此链接

网站统计
文章总数:139
今天发布:1
软件资源数:20