gpt4 book ai didi

mysql - MySQL 中的正则表达式?

转载 作者:行者123 更新时间:2023-11-29 03:51:23 25 4
gpt4 key购买 nike

当我这样做

SELECT resrev_meta FROM resourcerevs WHERE resrev_meta LIKE '%attr%';

我得到这样的结果

<attr><fileid>131</fileid></attr> 
<attr><fileid>326</fileid><width>360</width><height>640</height></attr>

问题

是否可以有一个只输出 <fileid> 之间的数字的正则表达式?和 </fileid>

最佳答案

Regex 可能不是您想要的。 mysql 支持 xpath 表达式。

这应该给你你所需要的:

SELECT ExtractValue(resrev_meta,'//fileid')  AS fileid 
FROM resourcerevs
WHERE resrev_meta LIKE '%attr%';

http://dev.mysql.com/doc/refman/5.1/en/xml-functions.html#function_extractvalue

mysql> SELECT
-> ExtractValue('<a>ccc<b>ddd</b></a>', '/a') AS val1,
-> ExtractValue('<a>ccc<b>ddd</b></a>', '/a/b') AS val2,
-> ExtractValue('<a>ccc<b>ddd</b></a>', '//b') AS val3,
-> ExtractValue('<a>ccc<b>ddd</b></a>', '/b') AS val4,
-> ExtractValue('<a>ccc<b>ddd</b><b>eee</b></a>', '//b') AS val5;

+------+------+------+------+---------+
| val1 | val2 | val3 | val4 | val5 |
+------+------+------+------+---------+
| ccc | ddd | ddd | | ddd eee |
+------+------+------+------+---------+

关于mysql - MySQL 中的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11212366/

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