我在Postgres的日期/时间字段中插入从文件读取的记录。文件中的许多日期/或时间字段为空。我想为相应的表字段插入null。日期/或时间的Postgres表col分别定义为日期/或时间。使用如下查询。我收到错误:psycopg2.errors.InvalidDatetimeFormat:类型日期输入语法无效:”“任何关于问题所在的指示都是有帮助的。谢谢"""INSERT INTO userbasic (name, create_date, owner_id, adsp, special, oper, revoke, grpacc, pwd_interval, pwd_date, programmer, defgrp_id, lastjob_time, lastjob_date, install_data) VALUES (%s, NULLIF(%s,'')::date, %s, %s, %s, %s, %s, %s, %s, NULLIF(%s,'')::date, %s, %s,NULLIF(%s,'')::time, NULLIF(%s,'')::date, %s)
希望将没有日期/时间列值的记录插入到空表中。
1条答案
按热度按时间nimxete21#
你在这里传递“STRING”作为日期时间字段的值。
要在此字段中插入“NULL”,可以使用“NULLIF()”函数(example here)。此函数将把空字符串转换为NULL。现在,您需要将其转换为“日期-时间”类型,为此,您可以使用“to_date()”函数或只是类型转换它。
此查询可能会有所帮助: