永发信息网

oracle 截取字符串(高分求答案)

答案:4  悬赏:40  手机版
解决时间 2021-04-11 11:08
现数据库表中有如下英文名:
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
最佳答案
楼主写的是对的啊

我在更新下
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'的才去更新
全部回答
用2个更新会比较简单的 注意下面sql的空格 --更新mr update biao set name = replace( replace (a,' mr' ,'如果都是这样格式的字段更新 我怎么看都觉你写的sql没问题啊 或者 如果你的字段都是以:空格+MR 和空格+MS的格式 你把末尾3个去掉
如果格式统一的话 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) 即可
update UPDATE T_CUSTOMER t SET t.NAME_EN =substr(t.NAME_EN,0,length(t.NAME_EN)-3))
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎么样才能把香烟戒掉怎么才能不想吸
单选题点(2,-3)到x轴的距离为A.2个单位B.3个
被丈夫逼着离婚,我该怎么办?泣血求助
我是工商管理在读大三学生,准备考研,请问有
江苏金优化工设备有限公司是做什么的
关于制版套色的问题~!
谁能告诉我幸福与爱情有没有关系?
天龙八部的漓江春水有人带我么
小李削面馆在哪里啊,我有事要去这个地方
每天跟不同男人吹萧没有消毒会有病传染吗
张、王、李三户人家分别要装相同的电灯2只、4
山东新体育产业塑木分公司地址有知道的么?有
数学题目来帮我
GTA4安装问题
谁有D.O.《哥哥》的百度云资源,快快给我,在
推荐资讯
对结婚条件和结婚登记关系认识正确的是①结婚
怎么查询银行卡状态啊?我的银行卡可用余额和
忍者之刃安装序列号···!!!
天下贰清风银丝套的所有部件 有那些,买要多
计算:(-1)2007+(-1)2008=________.
荆州大润发超市具体在哪里?什么时候开业?
计算(1-y)2-(1+y)2的结果是A.-4yB.4yC.2y
CAD里那个比例怎样算成数字
应收账款冲减在建工程,资产负债表如何调平
琼山区海岛幼儿园我想知道这个在什么地方
梦见男友穿女人衣服怎么个说法?
QQ三国的狸猫套和补给经验包还能用QQ积分兑换
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?