我想使用regexp_replace将所有空格替换为'_'。
我使用此陈述:
select regexp_replace('"<div_class="CCL-temp-border"><div_class="input-group_moveDivEnd"_style="margin-bottom:_5px;_top:_auto;_left:_auto;_width:_100%;_position:_relative;_opacity:_1;_filter:_none;"_data-id="moveDivEnd_1545116285310">_; <span_class="input-group-addon_CCL-te (...)"', '\s', '_', 'g')
但是结果是这样的:
"<div_class="CCL-temp-border"><div_class="input-group_moveDivEnd"_style="margin-bottom:_5px;_top:_auto;_left:_auto;_width:_100%;_position:_relative;_opacity:_1;_filter:_none;"_data-id="moveDivEnd_1545116285310">_;_______<span_class="input-group-addon_CCL-t (...)"
我的陈述是这样的:
select case when length(topiccontent)=0 THEN '_' else coalesce(regexp_replace(replace(replace(replace(topiccontent,chr(13), '_'),chr(10),'_'),' ','_'),'\s', '_', 'g'),'_') end as topiccontent from ccl_topics
您可以看到空白仍然存在,为什么?
答案 0 :(得分:1)
我知道为什么它不能被替换。
从数据库粘贴数据时有一些字符限制。
省略的部分将转换为(...)
。
所以(...)
不是真实字符,而是椭圆。
例如,表的一列中存在600个以上的字符,然后将其粘贴,结果带有省略号。