我正在try 提取所有以‘M’字符开头的单词.

例如,我有一个字符串: "[{"name":"Mary","type":"Dog"},{"name":"Max","type":"Dog"}]" 我想要:"玛丽,麦克斯"

我try regex_place([{"name":"Mary","type":"Dog"},{"name":"max","type":"Dog"}],‘\W’,‘’,‘g’),只留下单词,但不知道正确的正则表达式来提取所有以‘M’开头的单词.我还try 了这个:substring(‘\w*M\w*’中的"name Mary type Dog name Max type Dog"),但这只给了我一个单词.

推荐答案

SELECT array_to_string(
REGEXP_MATCHES(
    '[{"name": "Mary", "type": "Dog"}, {"name": "Max", "type": "Dog"}]',
    '\mM\w+\M',
    'g'
  ),
  ', '
) AS result;

Sql相关问答推荐

如何在T—SQL中找到值更改之前的日期?

对于表A中的每一行,更新表B中与金额有关的行

SQL—如何根据2列填写缺失的值

基于多个字段删除Access中的重复记录,同时保留最低优先级

Postgres:对包含数字的字符串列表进行排序

没有循环的SQL更新多个XML node 值

在SQL中为两个日期之间的每个日期添加行

每小时 Select 1行

合并分层表SQL中的第一个非空、变化的空位置

根据时间、状态和相关行在PostgreSQL中的存在来删除行

违反了完整性约束-值存在时找不到父键

输出连续出现两次以上的行

使用 union 的有序结果获取行数

group by 并根据同表中其他列的某些条件获取 group by 中的某一列值

用替代方案替换 SQL Cursor 以提高性能

Postgresql:在链接表中判断相关表中插入值的条件

Teradata 多个进程的最大进程结束时间捕获

Postgres:表的累积视图

如何根据 ID 和指标从 2 个表中找到不同的值?

创建一个将层次 struct 级别放入列中的查询