如何合并 timestamp 没有 null 数据库限制 Postgres

insert into employee/eid,dojo/ SELECT
14,coalesce/to_char/dojo,'dd-mm-yyyy'/,''/
from employee;


我必须通过从表中选择它来插入表格中,我的列 dojo 无限制 null 和 timestamp 不允许 " 插入,如果时间戳是这样的,请为此提供替代方案 null 从请求 select
已邀请:

石油百科

赞同来自:

例如,您可以使用一些默认日期值 1 一月 1900 多年或
now//

您的请求必须如此


insert into employee/eid,dojo/ SELECT
14,coalesce/to_char/dojo,'dd-mm-yyyy'/,now///
from employee;

石油百科

赞同来自:

您当前的查询有几个问题,其中两个我认为我的答案可以解决。 首先,您正在尝试插入空字符串
''

用于处理价值
NULL

在列中
dojo

. 它不起作用,因为不允许空字符串 timestamp. 正如否则所示,其中一个解决方案是使用
current_timestamp

作为占位符。

另一个问题是您使用不正确
to_char

用于数据格式化 timestamp. 输出
to_char

- 它是一排,以及如何使用它会强制 Postgres 拒绝它。 相反,您必须使用
to_timestamp//

, 它可以分析字符串并返回 timestamp. 我相信你打算做一些这样的事情:


insert into employee /eid, dojo/
select 14, coalesce/to_timestamp/dojo, 'DD/MM/YYYY HH:MI:SS PM'/, current_timestamp/
from employee;


它表明您的数据 timestamp 格式如下:


DD/MM/YYYY HH:MI:SS PM /e.g. 19/2/1995 12:00:00 PM/


我也不明白你为什么插入桌子
employee

, 具有未使用的数据,也不会插入新表。 如果你决定重用
employee

, 您可能需要稍后删除错误数据。

要回复问题请先登录注册