MySQL查询到pSQL查询(日期为NULL)

时间:2019-05-06 09:26:15

标签: mysql postgresql

我有一个日期为“ 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.')

1 个答案:

答案 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>