选择查询中的 MYSQL REGEX

标签 mysql regex syntax mysql-8.0

需要一个正则表达式解决方案来仅从列中选择字符串模式。

数据如下所示:

Column1
Data Type = String 

Data = 
"130 - 66||109,118 - 3||102 - 18||109,118 - 2||109,116,149 - 14||141 - 8||130 - 31||102 - 12"

预期结果

66, 3, 18, 2, 14, 8, 31, 12

尝试过 REgex - "\-(...*?)\W" 但不起作用。

最佳答案

你可以试试这个

SELECT REPLACE(REGEXP_REPLACE('130 - 66||109,118 - 3||102 - 18||109,118 - 2||109,116,149 - 14||141 - 8||130 - 31||102 - 12',
                                     '(([,0-9]+) - )', ''),'||',',');

和结果

66,3,18,2,14,8,31,12

Referance

关于选择查询中的 MYSQL REGEX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57065331/

相关文章:

Java:如何检查 Windows 上是否安装了 MySQL?

mysql - 减去月份和日期mysql

c# 如果有新数据插入mysql则自动添加一个新按钮

ruby-on-rails - 使用 rspec 通过正则表达式检查标签的属性

java - 嵌套怎么写? : statements

postgresql: "DO"处或附近的语法错误

c++ - 可以显式指定构造函数的模板参数吗?

php - 如何在 symfony 中插入具有 ManyToOne 关系的 user_id?

c# - 如何编写正则表达式以从连接字符串中获取部分?

regex - Powershell RegEx - 捕获 "too much"(不遵守非贪婪指标?)