› 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
openbsd
V2EX  ›  MySQL

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

  •  
  •   openbsd · Sep 29, 2019 · 5501 views
    This topic created in 2565 days ago, the information mentioned may be changed or developed.
    需要处理一个附件记录表,个人想法是增加一个新的字段,将原字段记录处理后写入,最后改程序引用实现

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

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

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

    请问该如何编写 UPDATE 语句
    2 replies  •  2019-09-29 16:28:13 +08:00
    airfling
        1
    airfling  
       Sep 29, 2019   ❤️ 1
    用正则不如用分割符,先按照 /分割,再按照-分割,然后重新拼接
    NjcyNzMzNDQ3
        2
    NjcyNzMzNDQ3  
       Sep 29, 2019   ❤️ 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
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   764 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:55 · PVG 03:55 · LAX 12:55 · JFK 15:55
    ♥ Do have faith in what you're doing.