PgSQL wm_concat与正则表达式结合

   2024-09-30 4230
核心提示:在 PostgreSQL 中,wm_concat 是一个聚合函数,用于将多行文本字段连接成一个逗号分隔的字符串以下是一个使用 wm_concat 和正则

在 PostgreSQL 中,wm_concat 是一个聚合函数,用于将多行文本字段连接成一个逗号分隔的字符串

以下是一个使用 wm_concat 和正则表达式结合的示例:

WITH test_data AS (    SELECT * FROM (VALUES        ('John', 'Doe', 'john.doe@example.com'),        ('Jane', 'Doe', 'jane.doe@example.com'),        ('Alice', 'Smith', 'alice.smith@example.com')    ) AS t(first_name, last_name, email))SELECT    first_name,    last_name,    string_agg(email, ', ') AS emailsFROM    test_dataWHERE    email ~* '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'GROUP BY    first_name,    last_name;

在这个示例中,我们首先创建了一个名为 test_data 的临时表,其中包含了一些用户的名字、姓氏和电子邮件地址。然后,我们使用 WHERE 子句过滤出符合电子邮件格式的行。最后,我们使用 string_agg 函数将每个用户的电子邮件地址连接成一个逗号分隔的字符串。

请注意,~* 是一个正则表达式匹配操作符,用于执行不区分大小写的匹配。在这个示例中,我们使用了一个简单的电子邮件正则表达式来过滤出有效的电子邮件地址。你可以根据需要修改正则表达式以满足你的需求。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号