首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
V2EX  ›  MySQL

请教大神 MySQL UPDATE 怎么编写包含正则表达式的语句

  •  
  •   openbsd · 69 天前 · 2078 次点击
    这是一个创建于 69 天前的主题,其中的信息可能已经有所发展或是发生改变。
    需要处理一个附件记录表,个人想法是增加一个新的字段,将原字段记录处理后写入,最后改程序引用实现

    字段原内容为 /abc/def/ghi/123456789-XXXXXXXX.zzzz

    前段一定是一串数字
    - 可能是其它字符 类似 _ 空格等
    XXXXXXXX 可能是 中 /英 文或者其他各种乱七八糟的字符
    zzzz 文件扩展名 可能是 3 位 /4 位英文字母

    希望改成 /abc/def/ghi/123456789.xxx
    保留路径不变 /abc/def/ghi/
    文件名 截取前面所有数字部分+文件扩展名

    请问该如何编写 UPDATE 语句
    2 回复  |  直到 2019-09-29 16:28:13 +08:00
        1
    airfling   69 天前   ♥ 1
    用正则不如用分割符,先按照 /分割,再按照-分割,然后重新拼接
        2
    NjcyNzMzNDQ3   69 天前   ♥ 1
    input : SELECT REGEXP_REPLACE('a b c', 'b', 'X');
    output: a X c

    参考: https://dev.mysql.com/doc/refman/8.0/en/regexp.html#function_regexp-replace
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   860 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 26ms · UTC 21:24 · PVG 05:24 · LAX 13:24 · JFK 16:24
    ♥ Do have faith in what you're doing.