我有一个包含员工,地址,城市,州和邮政编码列表的表格。我已将地址,城市,州,邮政编码合并到一个列“地址”,用逗号分隔每个字段。
我的问题是,如果其中一个字段为null,则会插入一个额外的逗号。例如,如果city
为空,则结果值将类似于address,,state,zipcode
。我需要删除这个额外的逗号。这该怎么做?请帮忙。
答案 0 :(得分:15)
您可以使用case when
构造
... = case when city is null then '' else city + ',' end
如果值已经在数据库中,您可以这样替换它:
UPDATE tableX SET address= replace(address, ',,', ',')
执行N次以确保甚至涵盖“所有字段都为空”的情况。
答案 1 :(得分:1)
或者您可以在php中手动执行此操作
<?php
$str = 'address,,state,zipcode';
$str = preg_replace('/,{2,}/i', ',', $str);
echo $str;
?>
我相信你也可以用你的语言做到这一点
答案 2 :(得分:1)
select replace(replace(replace(replace('LOKO, , , kkslksl ',' ',''),',','<>'),'><',''),'<>',',') from dual
答案 3 :(得分:0)
在为字符串连接插入时使用replace:
REPLACE('address,,state,zipcode', ',,' , ',' )