0

我在将我从 SQL 查询中检索到的值转换为正确格式时遇到了一些麻烦。

我已经设法将多行加入一个值,但是我不确定如何用逗号分隔每个值。本质上,我需要检索产品的所有 ID,例如,如果数据库的值为 '5,6,9,1' '1,3,4' 和 '2,1' 我希望它抛出每个喜欢之间的逗号 -> '5,6,9,1,1,3,4,2,1' 相反正在做一些更像 -> '5,6,911,3,42,1' 这就是它目前正在做。

我正在使用的代码如下。任何帮助将不胜感激。

谢谢!

$hist = "SELECT ORDITEMS FROM cust_orderc WHERE ORDDATE > 
to_date('".$olddate."','dd/mm/yyyy')";


$histitem = OCIParse($db, $hist);
OCIExecute($histitem);

while($row = oci_fetch_array($histitem)){
    $pastitem .= $row['ORDITEMS'];  
}

echo "$pastitem";
4

1 回答 1

0

你可以做同样的oracle使用LISTAGG

$hist = "SELECT LISTAGG(ORDITEMS) as ORDITEMS FROM cust_orderc WHERE ORDDATE > to_date('".$olddate."','dd/mm/yyyy')";

编辑或 PHP 方式

$pastitem = '';
while($row = oci_fetch_array($histitem)){
    $pastitem .= $row['ORDITEMS'] . ',';  
}
$pastitem = trim($pastitem, ",");
echo $pastitem;
于 2013-08-22T11:08:16.297 回答