首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql移除第n位置的焦炭

问mysql移除第n位置的焦炭
EN

Stack Overflow用户
提问于 2015-07-30 07:10:22
回答 4查看 2.2K关注 0票数 1

我需要删除第三个连字符(-)或最后连字符从我的表上的每一个记录。这是样本数据

2009年-12245-5432112310000-4 2009年-12245-5431212320000- 2009年-12245-H 196812310000- 2009年-12245-C 026512310000-0

更新后的输出应该是这样的。

2009年-12245-54321123100004 2009年-12245-5431212320000 2009年-12245-H 196812310000 2009年-12245-C 0265123100000

有什么mysql函数可以与UPDATE命令一起使用吗?我知道replace()命令,但我认为它没有要替换的特定位置的参数。

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-07-30 07:29:21

您必须使用CONCAT()和SUBSTRING_INDEX()的组合。请尝试以下查询:

代码语言:javascript
复制
UPDATE tblName
SET column = CONCAT(SUBSTRING_INDEX(column,'-',3),SUBSTRING_INDEX(column,'-',-1));

它将连接第一个子字符串和最后一个子字符串。以下是产出:

代码语言:javascript
复制
+---------------------------+
| 2009-12245-54321123100004 |
| 2009-12245-5431212320000  |
| 2009-12245-H196812310000  |
| 2009-12245-C0265123100000 |
+---------------------------+
票数 2
EN

Stack Overflow用户

发布于 2015-07-30 07:25:55

使用2 SUBSTRING_INDEX来实现这一点。

第一个获得字符串的SUBSTRING_INDEX,在最后一个-和

第二个SUBSTRING_INDEX,在最后一个-之后得到字符串。

索引在这里

查询

代码语言:javascript
复制
update tblName
set str=concat(substring_index(str,'-',3),substring_index(str,'-',-1));

小提琴演示

票数 1
EN

Stack Overflow用户

发布于 2015-07-30 07:20:09

试试这个:

代码语言:javascript
复制
UPDATE `table` SET `column` = CONCAT(SUBSTRING_INDEX(`column`, '-', 3), SUBSTRING_INDEX(`column`, '-', -1));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31717327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档