POSTGRES:删除 id 前缀的内部联接



我有两个表,一个是看起来像这样的instrument_static表

epic|  name     | Updated
-----------------------------------
ABC |   Google |2017-02-03

另一个表market_data

如下所示
epic       | name     | Updated
-----------------------------------
MARKET:ABC |   Google |2017-02-03

我想使用史诗连接两个表,但请注意,market_data中的史诗将始终以"MARKET:"为前缀。有人可以帮忙吗

我相信这个查询与此查询相同: 删除 id 前缀的 SQL 内部联接

但是,当我处理 Postgress 时,我已经阅读了 charindex 不是一个受支持的函数。

这是我到目前为止设法提出的,目前会返回一个错误:

从 instrument_static S 中选择 * 内连接 market_data M 上 substring(m.epic, charindex(':', M.epic(+1, len(m.epic(( = s.epic

您可以在join子句中使用字符串连接:

select . . . 
from instrument_static ins join
market_data md
on md.epic = 'MARKET:' || ins.epic and
md.name = ins.name and
md.updated = ins.updated;

有类似的方法可以使用split()like、正则表达式匹配等来实现此目的。

最新更新