我运行一个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()
是一个函数。如果要返回该值,则需要在SELECT
中使用该值。仅仅挂在FROM
子句之后是无效的SQL。
以下剪切操作将空字符串转换为NULL:
UPDATE schema.table SET columnname=NULL where columnname='';
这对我有用。