我想从表格的字符串列中提取单词。mysql中的REGEXP_SUBSTR等价于什么?
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
我使用的定位和SUBSTR来解决这个问题。代码很丑陋。编写代码十分钟后,我诅咒编写这样一个丑陋代码的人。
我没有在MySQL文档中找到REGEXP_SUBSTR函数。但我希望它存在..
回答:为什么不能优化表?为什么数据以这种愚蠢的方式存储?
我给出的例子只是表示我正试图解决的问题。在真实场景中,我使用基于数据库的第三方排队软件来执行异步任务。队列将Ruby对象作为文本序列化。我无法控制表格结构或数据格式。队列中的任务可以重复发生。在我们的测试设置中,一些重复性任务由于陈旧的数据而失败。我必须删除这些任务以防止出现错误。这样的错误并不常见,因此我不想维护标准化的影子表。
这就是我正在做的。 +1为花时间写这个.. – 2010-04-30 07:06:33
编辑答案使用CHAR_LENGTH()而不是LENGTH(),后者是以字节返回占用的大小,而不是字符串的长度。例如,你会遇到UTF8的麻烦 – 2013-06-14 05:50:11