You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pervasive SQL语句中获取指定字符后的剩余子串

在Pervasive SQL中提取字符串“/”后的子串

要在Pervasive SQL里获取Auftrag字段中“/”字符之后的剩余部分,你可以结合CHARINDEX和SUBSTRING函数来实现——这比你之前尝试的硬编码起始位置的方法更通用(毕竟如果Auftrag里的前缀长度变化,硬写8就会失效)。

核心解决方案

直接用动态定位“/”的位置来截取子串:

SELECT * 
FROM "ParaListen" 
WHERE SUBSTRING(Auftrag, CHARINDEX('/', Auftrag) + 1) = 'PAOrtsA'

函数说明

  • CHARINDEX('/', Auftrag):这个函数会返回“/”在Auftrag字符串中的起始索引(Pervasive SQL中索引从1开始计数)。比如对于值'235829/PAOrtsA',它会返回7。
  • SUBSTRING(Auftrag, [起始位置]):当省略第三个长度参数时,SUBSTRING会从指定的起始位置开始,截取到字符串的末尾。这里我们把起始位置设为CHARINDEX(...) + 1,就是为了跳过“/”本身,直接取后面的内容。

处理边界情况

如果你的Auftrag字段中可能存在不包含“/”的记录,为了避免CHARINDEX返回0导致SUBSTRING报错,可以添加一个判断条件过滤掉这些记录:

SELECT * 
FROM "ParaListen" 
WHERE CHARINDEX('/', Auftrag) > 0 
  AND SUBSTRING(Auftrag, CHARINDEX('/', Auftrag) + 1) = 'PAOrtsA'

这样就能精准匹配所有Auftrag字段中“/”后部分为'PAOrtsA'的记录了。

内容的提问来源于stack exchange,提问作者Max Lindner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 17:07:53