0

我的 sql 表中有两列存储电话号码。我已经显示了由“,”分隔的两个数字,如果如果将两个数据与“,”连接以进行显示,我面临的问题是 - 当第一列为空白时,我得到的输出为“,xxxxxxxxxx”,当第二列是空白的,我得到的输出是“xxxxxxxxx”,只有当两列都包含像“xxxxxxxxx,xxxxxxxxx”这样的数据时,我才能得到完美的输出。

当任一列数据丢失时,如何删除多余的“,”!

请帮忙

谢谢

桑迪普

4

2 回答 2

3

这会成功的。

$ret = implode(',', array_filter(array($value1, $value2)));
于 2011-10-19T08:32:38.740 回答
1

当可以在 MySQL Query 中解决它时,为什么要检查使用 PHP?

您可以在使用CONCAT_WS提取数据时直接在查询中执行此操作。

SELECT CONCAT_WS( ',', NULL , 'col2' ) ;

输出: col2

但是,这仅在将空字段设置为 时才有效NULL。如果您的空字段不为 NULL,您可以进一步设置IF条件以将该参数设置为NULL好像字段为空,例如

 SELECT CONCAT_WS( ',', IF(col1 = '', NULL, col1) , 'col2' ) ;
于 2011-10-19T09:08:39.267 回答