NodeJS 错误:类型timestamp的输入语法无效:“”将数据插入表时

34gzjxbg  于 2022-12-22  发布在  Node.js
关注(0)|答案(1)|浏览(233)

我正在从express API向postgres表中插入一个响应。我已经创建了一个表,其中包含一个类型为timestamp的列“createdon”。作为响应,我得到了一个要插入到该字段中的timestamp。这是我编写的脚本:

client.query(`INSERT INTO table (col1, col2,createdon, col3) VALUES ($1, $2, $3, $4) RETURNING *`, [val1, val2, val3, val4])

在createdon字段中得到一个时间戳之前,这是正常的,如果我得到createdon字段的空响应,它就会抛出这个错误。
如何绕过此错误?

eyh26e7m

eyh26e7m1#

如果你想插入一个空白的时间戳,请使用null。使用nullif,你可以测试值是否为空,并将其替换为null:

INSERT INTO table (col1, col2,createdon, col3) 
VALUES ($1, $2, NULLIF($3,'')::timestamp, $4) 
RETURNING *

演示:db<>fiddle

相关问题