mysql 怎么把字符串中的中文替换掉?

2020-12-23 16:10:42 +08:00
 makeitclear

表中有一列数据 roomName 是这样的:

2 号教学组团 0208
3 号教学楼 0234
2 号教学组团 0315
11 号教学楼 0518
(某某学院专用) 11 号教学楼 0306
……

想把他们转换成下边这样的:

2-208
3-234
2-315
11-518
11-306
……

大家有没有好的办法?

1767 次点击
所在节点    MySQL
4 条回复
maocat
2020-12-23 16:16:31 +08:00
mysql 直接把业务也做了,嗨呀
totoro52
2020-12-23 16:44:46 +08:00
一楼笑死我了
wysnylc
2020-12-23 16:51:28 +08:00
重生之我在 2010 写存储过程
wjfz
2020-12-23 16:53:33 +08:00
# 先把中文弄成问号,然后把问号替换掉
UPDATE stops SET `name` = REPLACE(CONVERT(`name` USING ASCII),'?','');

# 再把两个空格替换成-
UPDATE stops SET `name` = REPLACE(`name`,' ','-');

# 最左边有可能有空格,弄掉
UPDATE stops SET `name` = REPLACE(`name`,' ','');

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/738289

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX