需要Regex解决方案才能从列中仅选择字符串模式。
数据如下:
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"
,但无效。
答案 0 :(得分:0)
MySQL REGEXP
返回一个布尔值,而不是字符串。
摘录自MySQL参考手册:
如果字符串
1
与模式expr
指定的正则表达式匹配,则返回pat
,否则返回0
。如果expr
或pat
为NULL
,则返回值为NULL
。
也许我们要使用MySQL REGEXP_REPLACE
函数?
参考:
https://dev.mysql.com/doc/refman/8.0/en/regexp.html#operator_regexp
https://dev.mysql.com/doc/refman/8.0/en/regexp.html#function_regexp-replace
答案 1 :(得分:0)
您可以尝试
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