postgresql - typeorm raw sql查询是否支持IN子句
问题描述
我知道我们可以通过 querybuilder 使用 IN 子句:
await manager.getRepository(ReportEntity).createQueryBuilder()
.select('id')
.where('job_id IN (:...ids)',{ids:query_data[i].array_agg})
.getRawAndEntities()
是否可以在原始 sql 查询中做同样的事情?如果是,如何在原始查询中将参数传递给 IN 子句?
如果我想这样做:
await manager.query("select id from report where job_id IN (:...ids)",[{ids:['d8add1db-41fe-4e2d-b287-037fc22f1d29','a07497b7-1a94-482a-988c-1e2dcf6059c6']}])
解决方案
await manager.query(
'SELECT id from report where job_id = ANY($1)',
[['d8add1db-41fe-4e2d-b287-037fc22f1d29', 'a07497b7-1a94-482a-988c-1e2dcf6059c6']]
)
推荐阅读
- android - 使用 Android SDK 进行 Fido 身份验证。来自服务器的错误:无效的来源
- c++ - 在 c ++ 中正确使用 std::sort
- three.js - ThreeJS:将场景导出到 3DS
- rust - 大括号表达式对于循环和 while 的行为不同
- javascript - 如何在React中一个一个地循环遍历div标签内的数组元素
- angular - 在Angular中获取“类型'MediaDevices'上不存在属性'getDisplayMedia'”
- c# - HttpClient 返回不完整的响应内容
- python - Bluez 5.23 -> Bluez 5.43 - 蓝牙已连接但没有声音
- python - AWS Lambda 函数如何获取并行函数的结果?
- css - 即使使用 flex-start 或 spece,Flex-box 元素也会拉伸