小编Bir*_*ert的帖子

在 Prisma 中执行 PostgreSQL 函数而不使用 $queryRaw

我在 Prisma 的文档中进行了搜索,但我找不到任何有关如何使用prisma 客户端执行 PostgreSQL 函数(例如“ to_char ”)的信息。

简而言之,我想执行一个查询,其中按月和日(不包括年份)对数据进行排序,所有这些都由 prisma 客户端完成,而不使用原始查询

问题是,是否有可能在不使用原始查询的情况下实现这一点?

在互联网上搜索解决方案时,在原始查询中找到了这个答案。

Select YourDate
From YourTable
Where YourConditions
order by to_char(YourDate,'MMDD')
Run Code Online (Sandbox Code Playgroud)

我已经成功地通过使用 prisma 中的 $queryRaw 方法来实现这一点:

this.prismaService.$queryRaw(
Prisma.sql`
SELECT *
FROM User
WHERE to_char(birthdate, 'MMDD')>=to_char(NOW(),'MMDD')
ORDER BY to_char(birthdate,'MMDD')`
)
Run Code Online (Sandbox Code Playgroud)

我希望 Prisma 能够提供某种功能/操作,以便能够以这种方式进行查询:

this.prismaService.user.findMany({
  where: { birthdate: to_char(new Date(), 'MMDD') },
  orderBy: { birthdate: { gte: { to_char(birthdate, 'MMDD') } } },
})
Run Code Online (Sandbox Code Playgroud)

感谢任何信息!

postgresql prisma

8
推荐指数
0
解决办法
2878
查看次数

标签 统计

postgresql ×1

prisma ×1