MySQL 字段截取拼接

@


前言

请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i


提示:以下是本篇文章正文内容,下面案例可供参考

需求:

将数据库中的某一个字段的前6位替换成一个新的字符串,其它位置不变。

拼接函数:

CONCAT(A,B):将A和B拼接起来。

截取函数:

LEFT(str,3):截取str的前3位;

select left('sqlstudy.com', 3);
结果:| sql |

RIGHT(str,3):截取str的后3位;

select right('sqlstudy.com', 3);
结果 : | com |

字符串截取:substring(str, pos); substring(str, pos, len)

substring(str,4):从str的第4个字符位置开始截取,一直到结束。

select substring('sqlstudy.com', 4);
结果: | study.com |

substring(str,4,2):从str的第4个字符位置开始截取,只取两个字符。

select substring('sqlstudy.com', 4, 2);
结果 : | st |

substring(str,-4):从str倒数的第4个字符位置开始截取,一直到结束。

select substring('sqlstudy.com', -4);
结果 : | .com |

substring(str,-4,2):从str倒数的第4个字符位置开始截取,只取两个字符。

select substring('sqlstudy.com', -4, 2);
结果 : | .c |

PS:字符串截取长度不可以为负值。
字符串截取:substring_index(str,delim,count)

截取第二个 ‘.’ 之前的所有字符。

select substring_index('www.sqlstudy.com.cn', '.', 2);
结果: | www.sqlstudy |

截取第二个 ‘.’ (倒数)之后的所有字符。

 select substring_index('www.sqlstudy.com.cn', '.', -2);
结果: | com.cn |

如果在字符串中找不到 delim 参数指定的值,就返回整个字符串

 select substring_index('www.sqlstudy.com.cn', '.coc', 1);
结果: | www.sqlstudy.com.cn |

应用:
将数据库中的某一个字段的前6位替换成一个新的字符串,其它位置不变。

UPDATE `aa10` SET AAA102 = CONCAT("111111",substring(AAA102,7,6)) WHERE AAA102 like '111222%';

修改字段,字符串+截取最后一位/

#transfer_url:http://file/9ce2b963a6864927a49846fbe5c0cac6.amr
#拼接内容:/home/admin/sca/ccrecord/9ce2b963a6864927a49846fbe5c0cac6.amr

UPDATE  messages_transfer set down_file_path=CONCAT("/home/admin/sca/ccrecord/",substring_index(transfer_url, '/', -1))

总结

我是南国以南i记录点滴每天成长一点点,学习是永无止境的!转载请附原文链接!!!

参考链接

posted @ 2024-05-21 09:28  南国以南i  阅读(150)  评论(0编辑  收藏  举报