最近我们公司开始使用 Postgres。
我有以下代码:
instr(upper(mname),dd.drug) > 0
and regexp_like(upper(mname),'(^|[^A-Z]+)' || dd.drug || '([^A-Z]+|$)')
如何将其转换为 Postgres?
最近我们公司开始使用 Postgres。
我有以下代码:
instr(upper(mname),dd.drug) > 0
and regexp_like(upper(mname),'(^|[^A-Z]+)' || dd.drug || '([^A-Z]+|$)')
如何将其转换为 Postgres?
我不完全确定 Oracle 表达式的作用,但我认为以下内容应该在 Postgres 中执行相同的操作:
strpos(upper(mname),dd.drug) > 0
and upper(mname) ~ '(^|[^A-Z]+)' || dd.drug || '([^A-Z]+|$)'
~
是 Postgres 的 regex operator。如果您希望在区分大小写的匹配中区分大小写,您还可以使用 ~*
第一次检查(使用 instr
或 strpos
)对我来说似乎没有必要。我认为你可以完全删除它。
where upper(mname) ~ '\ycompu\y' ;