gpt4 book ai didi

mysql - 尝试将正则表达式应用于选择查询中的列

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

我将 JSON 存储在 MySQL 数据库(版本 5.6.17)中,我尝试将其正则表达式写入列中以检索事件 ID 列表。我的查询如下:

SELECT JSON REGEXP '"id":([0-9]*)' AS id
FROM PROD_APPNEXUS.dimension_json_creatives;

其中 JSON 是包含我需要解析为 ID 的数据的列。我知道 REGEXP 可用于 SELECT 查询中的字符串(即 SELECT 'foobar' REGEXP '([a-z]+)' AS foobar),但列可以以相同的方式进行模式匹配吗?

有没有办法将 JSON 列转换为字符串,然后使用正则表达式?

如有任何帮助,我们将不胜感激!

谢谢

山姆

最佳答案

您可以使用 replacesubstring_index 来拆分列,如下所示;)

SELECT replace(substring_index(JSON, ':', -1), '"', '') AS id
FROM PROD_APPNEXUS.dimension_json_creatives;

当我运行下面的sql时返回aaaa

select replace(substring_index('"id":"aaaa"', ':', -1), '"', '');

我假设您的 JSON 值不存在 :

关于mysql - 尝试将正则表达式应用于选择查询中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36860674/

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