node.js - 如何在 knex.js 中使用 postgres::date

标签 node.js postgresql date knex.js

我有一个类型为 timestamp 的列。我需要按给定日期选择所有记录。在 sql 中它是这样的:

select * from "table" where "date"::date = '2015-08-22';

我试过以下:

db('table').select().where('date::date', '=', date);

但这会引发错误

error: select * from "table" where "date::date" = $1 - column "date::date" does not exist

因为knex地方引号错了。

有什么办法可以执行这样的查询吗?或者我应该使用 whereRaw

最佳答案

对于像这样的特定于方言的功能,您通常需要使用 knex.raw .在这种情况下,您可以简写 whereRaw .

db('table').select().where(knex.raw('??::date = ?', ['date', date]));
db('table').select().whereRaw('??::date = ?', ['date', date]);

关于node.js - 如何在 knex.js 中使用 postgres::date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36013605/

相关文章:

Javascript - 功能上的功能?

javascript - 在 Typescript 编译期间在相对导入语句上附加 .js 扩展名(ES6 模块)

postgresql - 输入末尾的 PL/pgSQL 语法错误

postgresql - 在 Debezium 中过滤读取访问事件

mysql - 如何在 MySql 中选择最新日期?

javascript - 如何获取没有域的 socket.io 证书(我不喜欢自签名)

javascript - 渲染器中的 Electron 非上下文感知 native 模块

postgresql - 无法从 Spring Boot 应用程序连接到 PostgreSQL 数据库 - FATAL : database does not exist

php - or_where 在 codeigniter 模型中不起作用

mysql - 如何实现这个 COUNT(date > NOW()) AS 计数?