SQL - 向字符串添加空格

时间:2017-12-13 15:24:20

标签: sql database oracle whitespace analysis

我正在寻找一种解决方案,在DESCR属性字段下的整个字符串中出现特定的CODE符号后插入空格。

可用数据样本:

enter image description here

整体逻辑是SQL在使用CASE找到它时指定特定的CODE,否则它会分配静态的默认CODE。

CODEs如下:VBN,BNM,XCV。随机,因为我想表明每一个都有不同的长度和字母模式。

<div id="left" class="column">
    <div class="bottom">
      <nav class="menu menu--adsila" id="navbar">

        <a class="menu__item" href="#">
          <span class="menu__item-name">super long</span>
        </a>
        <a class="menu__item" href="#">
          <span class="menu__item-name">short</span>
        </a>
        <a class="menu__item" href="#">
          <span class="menu__item-name">link three</span>
        </a>
        <a class="menu__item" href="#">
          <span class="menu__item-name">link four</span>
        </a>
       
    </div>
  </div>
  </div>

1 个答案:

答案 0 :(得分:1)

听起来像是regexp_replace的工作。

trim(regexp_replace(descr,'( )*(FGIF|FTIF|FTOF|FTSF|FTSIF|FTSIIF|FTSMF|TISCE)( )*',' \2 '))

正则表达式查找[zero or more spaces][any one of your codes][zero or more spaces]并将其替换为[ ][the code it found][ ]。如果代码出现在字符串的开头或结尾,则需要trim()。 (我希望有一种方法可以在正则表达式本身中处理这个问题,但只需trim整个表达式就可以轻松了。)