从postgresql中的序列化php数组中提取值

qnakjoqk  于 2022-10-30  发布在  PHP
关注(0)|答案(2)|浏览(160)

问题:

一个表的一列包含序列化的php数组。我想在不使用php的情况下提取该序列化数据结构的值。我需要一个postgres sql语句来获取这些值。

示例:

下面是我需要的序列化数据结构的一部分(粗体部分):
... s:12:“搜索项ID”; s:4:“1008";....
谢谢你!

ycggw6v2

ycggw6v21#

这将在您的示例中起作用:

SELECT substring('... s:12:"SearchtermID";s:4:"1008"; ....', 's:4:"([0-9]+)"');

参见手册herehere
您可能希望提供更多详细信息...

qoefvg9y

qoefvg9y2#

这我的解决方案:

select substring((regexp_matches(db_fieldname,'("\d+")','g'))[1] from '"(\d+)"') from db_tablename

相关问题