Iss*_*ihi 3 database-migration node.js knex.js
我认为这个问题确实很简单,但我找不到答案。
在 Knex 中,我可以在数据库中设置时间戳,knex.fn.now()
但是现在我需要设置 30 天后的日期,now这和knex.fn.now() + 30工作一样简单还是还有其他技巧?
任何帮助都值得赞赏,即使是指向不同来源的链接。先感谢您
knex.fn.now()CURRENT_TIMESTAMP将在数据库上执行函数,该函数返回 1970 年 1 月 1 日的时间戳(以毫秒为单位)。
您可以使用数据库内置方法来计算未来日期。在MySQL中,该方法调用date_add.
SELECT date_add(now(), INTERVAL 30 day);
Run Code Online (Sandbox Code Playgroud)
对于 Knex,您将需要使用该raw方法。
knex.select(knex.raw('date_add(?, INTERVAL ? day)', [knex.fn.now(), 30]));
Run Code Online (Sandbox Code Playgroud)
编辑:
在 postgress 中,此查询将如下所示:
knex.select(knex.raw('date_add(?, INTERVAL ? day)', [knex.fn.now(), 30]));
Run Code Online (Sandbox Code Playgroud)
所以,在 Knex 中它将是:
knex.select(knex.raw(`? + INTERVAL '? day'`, [knex.fn.now(), 30]));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7376 次 |
| 最近记录: |