MYSQL如何替换部分字符串

字段里存着网址,类似这样的baidu/32位MD5值/baidu_xxxxxxx......之后是长度不确定的字符串由于xxxxx...那里长度和值都是不确定的所以不知道... 字段里存着网址,类似这样的
baidu/32位MD5值/baidu_xxxxxxx......之后是长度不确定的字符串

由于xxxxx...那里长度和值都是不确定的所以不知道如何替换

如何全部替换为下面这样,之后的那些字符不管是什么全都不要.
baidu/32位MD5值

最好使用SQL语句就能解决的,实在解决不行再借助其他程序
展开
 我来答
百度网友c76e578
推荐于2017-11-24 · TA获得超过284个赞
知道小有建树答主
回答量:92
采纳率:0%
帮助的人:89万
展开全部
如果是想查询话:
select substr(该字段名,1,(instr(该字段名,'/',1,2)-1)) from 表名;
如果是想直接改变数据:
update 表名 set 字段名=substr(该字段名,1,(instr(该字段名,'/',1,2)-1));
语句是截取第2个'/'之前的字符串
如果想更长一些可以改变下面n的值为输出到第n个'/'之前的全部字符串
update 表名 set 字段名=substr(该字段名,1,(instr(该字段名,'/',1,n)-1));
百度网友0a2a3a1
2012-02-10 · TA获得超过135个赞
知道小有建树答主
回答量:185
采纳率:0%
帮助的人:104万
展开全部
找了半天也没有找到可以实现这个功能的函数, 最后解决办法是:导入数据表,用awk处理里,再插入一个新表(数据结构一样) mysql>select * from 表1 INTO OUTFILE 'b.txt'; awk -F'/' '{print $1"/"$2}' b.txt >a.txt mysql>create table 表2 like表1; mysql>load data infile 'a.txt' into table 表2; 同时也坐着用函数或其它巧妙的办法来解决。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
张晓春1637
2012-02-10
知道答主
回答量:7
采纳率:0%
帮助的人:1.1万
展开全部
mysql> select host,user from user where user='user';
+-----------------------+----------+
| host | user |
+-----------------------+----------+
| localhost.localdomain | testuser |
+-----------------------+----------+

update字段host的内容,把"main"改成"slave",用REPLACE

mysql> update user set host=REPLACE(host,'main','slave') where user='user';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select host,user from user where user='user';
+------------------------+----------+
| host | user |
+------------------------+----------+
| localhost.localdoslave | testuser |
+------------------------+----------+
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式