我的数据库事物中有一个 Thingworx 服务(SQL 查询),例如。GetCookiesByIds
我有一个ids
带值的参数(STRING)1,2,3
我想查询:
SELECT * FROM Cookies WHERE id IN ([[ids]])`
但我有一个例外。
如何将我的参数 ID 转换为有效格式?
我的数据库事物中有一个 Thingworx 服务(SQL 查询),例如。GetCookiesByIds
我有一个ids
带值的参数(STRING)1,2,3
我想查询:
SELECT * FROM Cookies WHERE id IN ([[ids]])`
但我有一个例外。
如何将我的参数 ID 转换为有效格式?
一个)
SELECT * FROM cookies WHERE id = any([[ids]]::int[])
的值ids
必须类似于:{1,2,3}
二)
SELECT * FROM cookies WHERE id = any(
CONCAT( '{', [[ids]], '}' ) ::int[]
)
的值ids
必须类似于:1,2,3
一个简单的便携式选项是:
select *
from cookies
where ',' || $1 || ',' like '%,' || id || ',%'
... 其中$1
表示作为查询参数的 CSV 字符串。
在 Postgres 中,我们还可以使用数组:
select *
from cookies
where id = any(string_to_array($1, ','))
如果你想这样做的语法是这样的
SELECT * FROM Cookies WHERE id IN (<<ids>>)
如果您使用, Thingworx 服务将在查询中连接您的输入参数,如果您使用<<>>
,则将其定义为实际参数[[]]