我正在尝试将子字符串trackingCode提取到分隔符~~的点。 例如:
www.test.com ~~ 34235645463544563554
我想回来:
www.test.com
我正在使用:
SUBSTRING(trackingCode,1,FINDSTRING(trackingCode,"~~",1) - 1)
但是它没有用,我收到了一个错误:
错误:从文件导入aw的0xC0049067,派生列[1562]:评估函数时发生错误。
任何想法?如果我用数字替换FINDSTRING,那么它可以工作。
答案 0 :(得分:2)
您的数据可能不符合您的期望。
信任但验证。
我会避免对任何事情进行派生列转换,但对数据进行简单的转换,您知道(通过直接测试)将始终符合预期。这些公式很难在派生列xforms中以单行格式读取,并且您几乎无法控制并且能够尝试不同的解析选项和很少的故障/恢复模式。
我会为此推荐一个脚本任务。您可以路由不符合不同路径的行,并使用数据查看器查看它们发生了什么。
答案 1 :(得分:1)
这应该有效:
SUBSTRING([trackingCode],1,(FINDSTRING([trackingCode],"\~~",1) - 1))
答案 2 :(得分:0)
您确定每一行都有一个尾随数字吗?如果没有,这样的事情可能有所帮助:
SUBSTRING(trackingCode+"~~",1,FINDSTRING(trackingCode,"~~",1) - 1)