如何在PostgreSQL表中正确添加Excel日期时间数据
正确的PostgreSQL日期时间插入方式
你的SQL报错是因为直接写12.05.21 18:54会被PostgreSQL解析为数值运算(.被当作小数点),导致语法错误。需要将日期时间以字符串形式传入,并转换为PostgreSQL支持的timestamp类型,以下是两种可行方案:
方案1:使用TO_TIMESTAMP函数转换格式
通过TO_TIMESTAMP函数指定输入格式,直接将Excel导出的日期时间字符串转成数据库可识别的时间类型:
INSERT INTO lst (created_at) VALUES (TO_TIMESTAMP('12.05.21 18:54', 'DD.MM.YY HH24:MI')), (TO_TIMESTAMP('13.05.21 13:34', 'DD.MM.YY HH24:MI'));
格式字符串说明:
DD:两位日期(如12)MM:两位月份(如05)YY:两位年份(PostgreSQL会自动映射为2021,若需指定19xx年可改用YYYY)HH24:24小时制的小时(如18)MI:两位分钟(如54)
方案2:转为PostgreSQL标准时间格式
手动将Excel格式转换为PostgreSQL默认识别的YYYY-MM-DD HH:MI:SS格式,加单引号传入:
INSERT INTO lst (created_at) VALUES ('2021-05-12 18:54:00'), ('2021-05-13 13:34:00');
内容的提问来源于stack exchange,提问作者Yuri
相关产品推荐
相关产品推荐

