mysql如何去掉某个字段中的第一个出现的字符串
作者:骑着乌龟漫步
这篇文章主要介绍了mysql如何去掉某个字段中的第一个出现的字符串问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
mysql去掉某字段中第一个出现的字符串
需求
比如test表中有一个name的字段,
需要去掉这个字段中的以“擅长”开头的记录中的第一个“擅长”字符串,
如“擅长游泳,擅长吃饭,擅长打游戏”,
修改后的记录为“游泳,擅长吃饭,擅长打游戏”。
表结构:
查询语句:
select CONCAT('',SUBSTRING(`Name`,3)) `Name` FROM test where `Name` LIKE '擅长%';
查询结果:
修改语句:
update test SET `Name` = CONCAT('',SUBSTRING(`Name`,3)) where `Name` LIKE '擅长%';
修改之后的查询结果:
mysql字符串函数,删除首位字符串
如字段为 so.go.lie 查询上一级的方法为:
ed,(reverse(substring_index(reverse(ed),'.',1))),'')
删除最后一个字符串的方法
LEFT(XXX,LENGTH(XXX)-1) SUBSTRING(XXX, 1,length(XXX)-1) TRIM(TRAILING ',' FROM XXX)
trim函数可以过滤指定的字符串:
- 完整格式:TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str)
- 简化格式:TRIM([remstr FROM] str)
Returns the string str with all remstr prefixes or suffixes removed. If none of the specifiers BOTH, LEADING, or TRAILING is given, BOTH is assumed. remstr is optional and, if not specified, spaces are removed.
以下是代码片段:
mysql> SELECT TRIM( ' bar ' ); //默认删除前后空格 -> 'bar' mysql> SELECT TRIM(LEADING ',' FROM ',,barxxx' ); //删除指定首字符 如',‘ -> 'barxxx' mysql> SELECT TRIM(BOTH ',' FROM ',,bar,,,' ); //删除指定首尾字符 -> 'bar' mysql> SELECT TRIM(TRAILING ',' FROM 'barxxyz,,' ); -> 'barxxyz'
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。