我有一个postgresql(V 8.4)函数,它返回一个自定义类型的SETOF。此函数的字符串输出示例如下4行:
(2,"CD,100"," ","2010-09-08 14:07:59",New,0,,,,,,"2010-09-06 16:51:51","2010-09-07 16:51:57",)
(5,CD101,asdf,"2010-08-08 14:12:00",Suspended-Screen,1,10000,,,,,,,)
(4,DNR100,asdf,"2010-09-08 14:10:31",Suspended-Investgate,0,,,,,,"2010-09-06 16:51:51","2010-09-07 16:51:57",)
(3,MNSCU100," ","2010-09-08 14:09:07",Active,0,,,,,,,,)
我需要在PHP中处理这些数据,并且我正在尝试找出使用它的最佳方法。我想要的是,如果有一种方法让postgresql返回这个,就像一个表,其中列表示记录中的每个值而不是逗号分隔的字符串。
这可能吗?如果没有,在PHP中使用这个以逗号分隔的值字符串的最佳方法是什么?
我看到这篇文章(Convert PostgreSQL array to PHP array)并且可以使用那里提到的功能,但我想询问是否有人有其他想法或建议。
谢谢, 巴特
答案 0 :(得分:2)
有str_getcsv()
将字符串解析为CSV数据并返回各个字段的数组
答案 1 :(得分:1)
是的,它真的很简单,只是改变你调用函数的方式。
而不是
SELECT my_srf(parm1);
要么:
SELECT * FROM my_srf(parm1);
SELECT (my_srf(parm1)).*;
你甚至可以通过这种方式获得列名。