我在将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";
答案 0 :(得分: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;