我有一个日期为“ 0000-00-00 00:00:00”的mySQL查询。 PostgreSQL不接受这种格式。有没有将所有这些日期更改为NULL的命令? 我正在将数据从mySQL数据库迁移到postgreSQL数据库。我当前要做的是使用sql Dump将数据从mySQL数据库输入到postgres数据库。因此,我可以开始转换目标数据库中的数据。 我的查询如下:
DROP TABLE IF EXISTS "table_name";
CREATE TABLE "table_name" (
id integer NOT NULL,
version int NOT NULL,
created_by varchar(50) NOT NULL,
created_date timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP,
last_modified_by varchar(50) DEFAULT NULL,
last_modified_date timestamp(0) NOT NULL DEFAULT NULL,
name varchar(255) NOT NULL,
PRIMARY KEY (id),
CONSTRAINT UK_AkademischerTitel_Name UNIQUE (name)
) ;
INSERT INTO table_name VALUES (1,1,'admin','2016-02-13 23:00:00',NULL,'0000-00-00 00:00:00','Dr.')
答案 0 :(得分:0)
只需查找并替换字符串即可解决此问题。 如果您使用的是Linux,请在vi / vim编辑器中打开SQL文件,然后使用以下方法查找并替换此模式。
:0,$ s/'0000-00-00 00:00:00'/NULL/g
在上一行中,我们从第1(0)行到最后一个($)搜索,找到模式'0000-00-00 00:00:00',并将其全局替换为NULL意味着一行中出现了任意数量的内容。 / p>