我正在尝试使用PRESTO数据库创建一个SQL查询,以获取应用了标签的票号。标签位于ticket_tag列中,但票证标签列的每一行都有一个包含股票代码的所有标签 ID 的数组。我想扫描阵列并验证我要查找的标签 ID 是否在其中,以便我只能选择或返回这些票号。有人可以帮忙吗?
all_tickets_tags看起来像这样:
[999170833505476,12403428395,12706673982,104100556289383,202231716456598,430869490433479,605189679499805,928941873813160]
它们是标签 ID。
SELECT ticker_number, ticket_tags
FROM ticket_activity
WHERE all_ticket_tags = 513515886108503
您可以使用包含函数。
contains(all_ticket_tags, 513515886108503)
如果数组只是一个字符串,则可以与 SQL LIKE 语句匹配。
...
WHERE all_ticket_tags LIKE '%tag%'
或者,更准确地说,您可以取消嵌套数组或使用为数组结构定制的函数(如contains
(,但这将取决于相关字段的实际格式。