我有两个表,一个是看起来像这样的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
、正则表达式匹配等来实现此目的。