跨 PDO 驱动兼容 GROUP_CONCAT?

Posted

技术标签:

【中文标题】跨 PDO 驱动兼容 GROUP_CONCAT?【英文标题】:Cross PDO driver compatible GROUP_CONCAT? 【发布时间】:2011-11-25 16:33:08 【问题描述】:

在主要 PDO 驱动程序中是否有有效的替代 GROUP_CONCAT 的方法?

【问题讨论】:

【参考方案1】:

鉴于这个 mysql

select group_concat(c separator ',') from t

您可以在 PostgreSQL 中执行此操作:

select array_to_string(array_agg(c), ',') from t

或者这个在 SQLite 中:

select group_concat(c, ',') from t

不过我不知道 SQL Server。

参考资料:

MySQL group_concat PostgreSQL array_agg PostgreSQL array_to_string SQLite group_concat

【讨论】:

太棒了!我可以在我的数据库驱动程序包装类上实现每个变体。这是一个开源项目,所以如果需要,我会让其他人实现 mssql 版本。这些天我不太倾向于使用 mssql @Lea:您可能想对 PostgreSQL 版本进行版本检查,我提供的版本在 9.0 中工作,如果您需要支持 8,请告诉我,我会看看我能做什么.

以上是关于跨 PDO 驱动兼容 GROUP_CONCAT?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PDO 跨两个数据库运行连接查询

JavaScript跨浏览器兼容之事件

如何自动执行跨浏览器兼容测试

如何自动执行跨浏览器兼容测试

CANOpen中一个PDO只能传输8个字节,为啥很多资料都显示一个PDO可以超过8字节?

PHP PDO-MYSQL:如何跨不同类使用数据库连接