首页 > 解决方案 > 如何使用 TypeORM Query Builder 转换字符串的查询“WHERE IN”?

问题描述

在以下 TypeORM 查询中出现错误:

async exportUsers(stateId: string, zipcodes: string) 
{
  //zipcodes = '60563', '54656', '94087';//
  const query = await this.userRepository
  .createQueryBuilder('user')
  .select('user.email', 'email')
  .where('left(user.Zip,5) in :zip', { zip: zipcodes }); 
}

如何使用 IN 将包含“字符串数组”的字符串传递给 TypeORM 查询。

标签: sql-servertypeormnode.js-typeorm

解决方案


这有效:

zipcodes = '60563', '54656', '94087';
const ziplist: string[] = zipcodes.replace("'", "").split(",");

将查询更改为:

.where('left(s.ShipToZip,5) in (:...zip)', { zip: ziplist }); 

推荐阅读