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记录点滴每天成长一点点,学习是永无止境的!转载请附原文链接!!!