欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

replace使用案例--替换空格

发布时间:2025/3/15 编程问答 28 豆豆
生活随笔 收集整理的这篇文章主要介绍了 replace使用案例--替换空格 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

需求是这样的:

SELECT EID, RESEARCHER --研究员 FROM NEWSADMIN.REP_BASINFO A WHERE RESEARCHER NOT LIKE '%,%' AND LENGTH(RESEARCHER)>3

为保持数据格式的统一性,将以上执行出来的结果中人员之间的空格替换成英文状态下的逗号。替换的时候需注意,有些人员之间是两个空格符,避免出现连续两个",,"的情况。

查询后发现,确实存在不少有多空格的情况。

所以分析了下,有几种情况:

1.首尾空格,用trim处理

select EID, RESEARCHER,trim(researcher)from NEWSADMIN.REP_BASINFO A WHERE RESEARCHER LIKE '% ' or RESEARCHER LIKE ' %' AND LENGTH(RESEARCHER)>3;


2.长空格,用replace处理,突然发现有个外文,steven smith,所以不能直接替换。因为researcher字段是nvarchar2类型,所以不能简单使用lengthb来判断,不过变通下,就可以了。


update NEWSADMIN.REP_BASINFO A set RESEARCHER=replace(RESEARCHER,' ',',') WHERE RESEARCHER LIKE '% %' AND LENGTH(RESEARCHER)>3 and length(RESEARCHER)<>lengthb(to_char(RESEARCHER)) ; update NEWSADMIN.REP_BASINFO A set RESEARCHER=replace(RESEARCHER,' ',',') WHERE RESEARCHER LIKE '% %' AND LENGTH(RESEARCHER)>3 and length(RESEARCHER)<>lengthb(to_char(RESEARCHER)) ;


3.短空格,大胆使用replace,再无意外。


update NEWSADMIN.REP_BASINFO A set RESEARCHER=replace(RESEARCHER,' ',',') WHERE RESEARCHER LIKE '% %' AND LENGTH(RESEARCHER)>3 and length(RESEARCHER)<>lengthb(to_char(RESEARCHER)) ;


转载于:https://blog.51cto.com/gundam/1213941

总结

以上是生活随笔为你收集整理的replace使用案例--替换空格的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。