从 Oracle SQL 转换 Postgres

最近我们公司开始使用 Postgres。

我有以下代码:

instr(upper(mname),dd.drug) > 0
 and regexp_like(upper(mname),'(^|[^A-Z]+)' || dd.drug || '([^A-Z]+|$)')

如何将其转换为 Postgres?

wwl776 回答:从 Oracle SQL 转换 Postgres

我不完全确定 Oracle 表达式的作用,但我认为以下内容应该在 Postgres 中执行相同的操作:

strpos(upper(mname),dd.drug) > 0
  and upper(mname) ~ '(^|[^A-Z]+)' || dd.drug || '([^A-Z]+|$)'

~ 是 Postgres 的 regex operator。如果您希望在区分大小写的匹配中区分大小写,您还可以使用 ~*

第一次检查(使用 instrstrpos)对我来说似乎没有必要。我认为你可以完全删除它。

,

where upper(mname) ~ '\ycompu\y' ;

本文链接:https://www.f2er.com/1157636.html

大家都在问