【发布时间】:2021-01-04 18:44:30
【问题描述】:
最近我们公司开始使用 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。如果你想要一个in区分大小写的匹配,你也可以使用~*
第一次检查(使用instr 或strpos)对我来说似乎没有必要。我认为您可以将其完全删除。
【讨论】:
其中上(mname)~'\ycompu\y';
【讨论】: