Gle*_*ift 4 postgresql date node.js knex.js
我有一列type timestamp。我需要选择给定日期的所有记录。在sql中,它类似于:
select * from "table" where "date"::date = '2015-08-22';
Run Code Online (Sandbox Code Playgroud)
我尝试了以下操作:
db('table').select().where('date::date', '=', date);
Run Code Online (Sandbox Code Playgroud)
但这会引发错误
错误:从“表”中选择*,其中“日期::日期” = $ 1-列“日期::日期”不存在
因为knex位置引用错误。
有什么方法可以执行这种查询吗?还是我应该使用whereRaw?
对于像这样的方言特定功能,通常需要使用knex.raw。在这种情况下,您可以使用简写形式whereRaw。
db('table').select().where(knex.raw('??::date = ?', ['date', date]));
db('table').select().whereRaw('??::date = ?', ['date', date]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5304 次 |
| 最近记录: |