[英]How to use MySQL's LIKE in Prisma ORM on non string fields?
有一段時間編寫原始 SQL 查詢的經驗,我想在 Node.js 中使用 Prisma 來向 MySQL 詢問類似的東西:
SELECT ..... WHERE dateField LIKE '2020-05%'
或者
SELECT ..... WHERE numberField LIKE '%99'
我知道,數據庫會返回我想要的。
我就是無法讓 Prisma 做到這一點。 可能嗎?
對於字符串/varchar 字段,我在where
對象中使用contains
關鍵字,它工作正常。
const orders = await prisma.order.findMany({
where: {
textField: {
contains: 'test'
}
}
});
是否有任何解決方法可以為日期/數字類型字段獲取此類功能?
我設法在 Prisma 中運行原始 SQL 作為解決方法:
const orders = await prisma.$queryRaw`SELECT * FROM Order WHERE dataField LIKE '%-05-%'`;
它甚至可以進行類型轉換:
import { Order } from '@prisma/client'
const orders = await prisma.$queryRaw<Order[]>`SELECT * FROM Order WHERE dataField LIKE '%-05-%'`;
不漂亮,但按預期工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.