现数据库表中有如下英文名:
JOHN/TOMAS MR
HONEY/LILI MS
LADY/GAGA MRACLE MS
KIKI/DUKY MSUYA MS
我的目标是去掉最后显示其性别的MR MS以及MR MS前的空格。但是不能破坏英文名。如下是我自己写的,估计是不行。求答案!!!
UPDATE T_CUSTOMER t
SET t.NAME_EN = substr(t.NAME_EN,0,instr(t.NAME_EN,' ',-1,1)-1)
WHERe instr(t.NAME_EN,' ',1,1)>0;
AND INSTR(T.NAME_EN,' MR',1,1)>0
OR instr(T.NAME_EN,' MS',1,1)>0
谢谢楼下各位回答
怪我没说清楚!关键数据库中有以下数据:
AMA/TERRY
SINA/LOY
ANA/CUI MSILU
TOM/LUYI MRADOU
oracle 截取字符串(高分求答案)
答案:4 悬赏:40 手机版
解决时间 2021-04-11 11:08
- 提问者网友:暗中人
- 2021-04-11 04:58
最佳答案
- 五星知识达人网友:我住北渡口
- 2021-04-11 05:14
楼主写的是对的啊
我在更新下
UPDATE T_CUSTOMER t
SET t.NAME_EN = substr(t.NAME_EN,0,instr(t.NAME_EN,' M',-1,1)-2)
WHERe substr(t.NAME_EN,-2,2)=' M';
确保倒数第二,第三位是' M'的才去更新
我在更新下
UPDATE T_CUSTOMER t
SET t.NAME_EN = substr(t.NAME_EN,0,instr(t.NAME_EN,' M',-1,1)-2)
WHERe substr(t.NAME_EN,-2,2)=' M';
确保倒数第二,第三位是' M'的才去更新
全部回答
- 1楼网友:洒脱疯子
- 2021-04-11 07:58
用2个更新会比较简单的 注意下面sql的空格
--更新mr
update biao set name = replace( replace (a,' mr' ,'如果都是这样格式的字段更新 我怎么看都觉你写的sql没问题啊
或者
如果你的字段都是以:空格+MR 和空格+MS的格式 你把末尾3个去掉
- 2楼网友:山有枢
- 2021-04-11 07:17
如果格式统一的话
UPDATE T_CUSTOMER t
SET t.NAME_EN =substr(t.NAME_EN,1,length(t.NAME_EN)-3)||substr(t.NAME_EN,length(t.NAME_EN)-1)
即可
- 3楼网友:西风乍起
- 2021-04-11 06:27
update UPDATE T_CUSTOMER t
SET t.NAME_EN =substr(t.NAME_EN,0,length(t.NAME_EN)-3))
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯