You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将含嵌套AND/OR的SQL转成Prisma复杂条件查询?

将嵌套AND/OR条件的SQL转换为Prisma查询

Prisma完全支持嵌套的AND/OR组合查询,你提供的SQL可以直接转写成如下Prisma客户端代码:

const employees = await prisma.employee.findMany({
  where: {
    AND: [
      {
        OR: [
          { firstname: { contains: 'Alex' } },
          { firstname: { contains: 'Sean' } }
        ]
      },
      {
        OR: [
          { lastname: { contains: 'Dennard' } },
          { lastname: { contains: 'Joy' } }
        ]
      },
      { age: 10 },
      {
        AND: [
          { middlename: { startsWith: 'Ali' } },
          { middlename: { not: { equals: 'Alish' } } }
        ]
      }
    ]
  }
});

对应SQL条件的说明:

  • SQL中(firstname LIKE '%Alex%' OR firstname LIKE '%Sean%') → Prisma用OR数组配合contains实现(%xxx%模糊匹配对应contains)
  • SQL中(lastname LIKE '%Dennard%' OR lastname LIKE '%Joy%') → 同上逻辑,对应lastname的OR条件数组
  • SQL中age = 10 → 直接写age: 10即可
  • SQL中(middlename LIKE 'Ali%' AND middlename NOT LIKE 'Alish') → 用AND数组,startsWith('Ali')对应LIKE 'Ali%',not: { equals: 'Alish' }对应NOT LIKE 'Alish'

如果需要忽略大小写匹配,可以给contains或startsWith添加mode: 'insensitive'参数,比如:

{ firstname: { contains: 'Alex', mode: 'insensitive' } }

内容的提问来源于stack exchange,提问作者Teknoville

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 09:15:31