【发布时间】:2015-09-12 14:18:57
【问题描述】:
我正在努力将某些东西从 Oracle 转换为 PostgreSQL。在Oracle文件中有一个函数:
instr(string,substring,starting point,nth location)
或在我的文件中
instr(string,chr(10),instr(string,substring),1)
在 PostgreSQL 中这不存在,所以我查找了一个等效函数。我发现:
position(substring in string)
但这不允许起始位置和第n 个位置参数。
有没有办法让这个函数从给定点开始?或者在 PostgreSQL 中是否有更好的函数可以指定起始位置和第 n 个位置?
这必须在 PostgreSQL 8.2.15 上工作,因为这是我们在数据库上运行的版本。
【问题讨论】:
-
如果需要对部分字符串进行操作,有
substring(string [from int] [for int])。也许有更简单的解决方案,但您没有向我们展示您的输入或预期输出。 -
您确定版本 8.2.15 吗? 8.2 自 2011 年 12 月起停产,您还缺少 8 个次要版本:最新的 8.2 版本是 8.2.23。您的版本有许多严重的(安全)问题。帮自己一个忙,尽快升级到最新版本。
标签: oracle postgresql database-migration plpgsql