gpt4 book ai didi

sql - mysql 中 REGEXP_SUBSTR 的等价物是什么?

转载 作者:IT王子 更新时间:2023-10-28 23:48:38 29 4
gpt4 key购买 nike

我想从表格的字符串列中提取一个词。

description
===========================
abc order_id: 2 xxxx yyy aa
mmm order_id: 3 nn kk yw

预期结果集

order_id
===========================
2
3

表格最多有 100 行,文本长度为 ~256 个字符,列始终有一个 order_id。所以性能不是问题。

在 Oracle 中,我可以使用 REGEXP_SUBSTR 来解决这个问题。我如何在 MySQL 中解决这个问题?

编辑 1

我正在使用 LOCATE 和 SUBSTR 来解决问题。代码很难看。写完代码十分钟后,我在诅咒写出如此丑陋代码的人。

我没有在 MySQL 文档中找到 REGEXP_SUBSTR 函数。但我希望它存在..

回答:为什么表不能优化?为什么数据以如此愚蠢的方式存储?

我举的例子只是说明了我要解决的问题。在实际场景中,我使用基于数据库的第 3 方排队软件来执行异步任务。队列将 Ruby 对象序列化为文本。我无法控制表结构或数据格式。队列中的任务可以重复出现。在我们的测试设置中,一些重复性任务由于数据过时而失败。我必须删除这些任务以防止错误。这种错误并不常见,因此我不想维护规范化的影子表。

最佳答案

"I didn't find the REGEXP_SUBSTR function in MySQL docs. But I am hoping that it exists.."

是的,从 MySQL 8.0 开始支持它。 Regular Expressions :

REGEXP_SUBSTR(expr, pat[, pos[, occurrence[, match_type]]])

Returns the substring of the string expr that matches the regular expression specified by the pattern pat, NULL if there is no match. If expr or pat is NULL, the return value is NULL.

关于sql - mysql 中 REGEXP_SUBSTR 的等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2742650/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com