NetSuite中的SQL函数保存了搜索结果 - 如何修复这些功能?

问题描述 投票:1回答:1

我试图在NetSuite保存的搜索结果输出的上下文中实现以下功能。

1.删​​除第一个连字符( - )后的每个字符或冒号(:),包括这些字符之前的空格。

因此对于例如

输入:test 123 - xyz:123

这应该输出为测试123 - >这甚至应该删除你在连字符之前看到的空格。

我尝试了以下两个代码

SUBSTR({custitem123}, 0, INSTR({custitem123}, '-')-1) SUBSTR({custitem123}, 0, INSTR({custitem123}, ':')-1)

这些都可以自己工作 - 所以我试图将这些组合在一个单独的公式中,它将寻找其中任何一个并删除它们之后的所有字符 - 除此之外,它还应该在连字符之前寻找任何空格或冒号并替换它什么都没有。不知道你将如何实现这一目标。

2.删除字母字符前的所有非字母字符和空格(如果有)。

例如输入:1。测试XYZ

这应该具有输出为:测试XYZ

我尝试使用以下公式实现这一目标 -

TRIM({class}, '[^A-Za-z ]', '')

这种方法的问题是它无法替换Test的第一个字母表之前的空格字符。我明白这是因为我告诉它要跳过替换太空人物。我不知道的是我如何告诉它只替换它在第一个字母字符之前找到的空间。

简而言之,我如何确保输出为:Test XYZ

并不是

测试XYZ(测试前有空格)

sql netsuite
1个回答
1
投票

你可以使用regexp_substr作为

regexp_substr({custitem123}, '[^-]+')只从输入:test 123中提取test 123 - xyz : 123

如果你也添加trim,那么你可以得到修剪的空格

例如trim(regexp_substr({custitem123}, '[^-]+'))test 123作为修剪输出。

© www.soinside.com 2019 - 2024. All rights reserved.