Postgres 将空字符串转换为 NULL

Postgres convert empty string to NULL

我 运行 一个 Postgres 数据库,想将 空字符串 转换成 NULL。 以下片段应该对所有列执行此操作,但它不起作用。

SELECT * FROM schema.table NULLIF(columnname,'');

错误信息是:

ERROR:  syntax error at or near "''"
LINE 2:  NULLIF(columnname,'');

正确的语法是:

SELECT . . ., NULLIF(columnname, '')
FROM schema.table;

也就是NULLIF()是一个函数。如果要return的值,那么就需要用到SELECT。在 FROM 子句之后徘徊是无效的 SQL.

以下片段将空字符串转换为 NULL:

UPDATE schema.table SET columnname=NULL where columnname='';

这对我有用。