一个表的一列包含序列化的php数组。我想在不使用php的情况下提取该序列化数据结构的值。我需要一个postgres sql语句来获取这些值。
下面是我需要的序列化数据结构的一部分(粗体部分):... s:12:“搜索项ID”; s:4:“1008";....谢谢你!
ycggw6v21#
这将在您的示例中起作用:
SELECT substring('... s:12:"SearchtermID";s:4:"1008"; ....', 's:4:"([0-9]+)"');
参见手册here和here。您可能希望提供更多详细信息...
qoefvg9y2#
这我的解决方案:
select substring((regexp_matches(db_fieldname,'("\d+")','g'))[1] from '"(\d+)"') from db_tablename
2条答案
按热度按时间ycggw6v21#
这将在您的示例中起作用:
参见手册here和here。
您可能希望提供更多详细信息...
qoefvg9y2#
这我的解决方案: