如何使用sql从不同长度的字符串中删除字符?系统间缓存sql

5lhxktic  于 2021-08-09  发布在  Java
关注(0)|答案(2)|浏览(431)

我有一列字符串,在每个字符串的开头和结尾都有一个“&”,我需要为正在创建的crystal报表删除它。我在crystal之外编写sql代码,我在使用intersystems cache sql。下面是一个例子:

&This&         This
&is&           is
&What&         what
&it&           I
&looks&        need
&like&         it
&now&          to
               look
               like

任何建议将不胜感激!!!

pokxtpni

pokxtpni1#

假设符号总是同时定位为前导字符和尾随字符,这里至少有一个开始。结合使用 SUBSTR (或 SUBSTRING ,如果使用流数据)和 LENGTH ,就像这样:

SELECT SUBSTR((SELECT column FROM table), 2, LENGTH(SELECT column FROM table) - 2)

这将返回一个子字符串,该子字符串从原始字符串的第二个字符[开始计数,由第一个子表达式/参数指定给 SUBSTR ],计算[原始字符串的]总字符数减去2(即减去两个符号)。
如果需要包含尾随空格和/或字符串终止字符,则可能需要使用 LENGTH 功能。有关这些函数及其变体的详细信息,请参阅参考资料:
https://docs.intersystems.com/irislatest/csp/docbook/docbook.ui.page.cls?key=rsql_substr
https://cedocs.intersystems.com/latest/csp/docbook/docbook.ui.page.cls?key=rsql_length

4c8rllxm

4c8rllxm2#

这是一个水晶公式,它也有同样的作用:

ExtractString({YourData},"&","&")

相关问题