【发布时间】:2020-08-16 00:03:11
【问题描述】:
有没有办法通过使用三元操作对 Postgres 数据库执行插入操作?
我试图不编写 SQL 函数,也不通过代码传递 current_timestamp 值。 试图直接在 SQL 语句本身中实现这一点。这可能吗?
看到了选择查询的示例,我可以使用 CASE 和 WHEN 但没有任何插入,而且我没有看到 WHERE 子句适用于此。
如果以下是可以实现的建议。谢谢。
对于下面check_time的值,我想根据同一个查询中status的值传入current_timestamp或者null。
INSERT INTO user(name, age, status, check_time) VALUES (?, ?, ?, current_timestamp);
我希望将上面的内容修改为以下内容。
这不是一个有效的 SQL 语句,但试图实现这个三元组在状态为 1 时插入 current_timestamp 时会执行的操作,否则插入空值。
INSERT INTO user(name, age, status, check_time) VALUES (?, ?, ?, status == 1 ? current_timestamp : null);
【问题讨论】:
标签: sql postgresql