PostgreSQL - invalid input syntax for type timestamp with time zone

2022-01-11 14:42:49 浏览数 (1)

问题

在执行以下sql时报错:

1

select COALESCE(null,null,now(),'');

报错如下:

1 2 3 4

SQL Error [22007]: ERROR: invalid input syntax for type timestamp with time zone: "" Position: 33 org.postgresql.util.PSQLException: ERROR: invalid input syntax for type timestamp with time zone: "" Position: 33

解决方法

由于coalesce()要求输入参数是null或字符串,而now()返回的结果是带有时区的时间戳,所以就会报错;需要把时间戳转换成字符串才可以,如下所示:

1 2 3

select COALESCE(null,null,now()||'',''); select COALESCE(null,null,now()::varchar,'');

警告

本文最后更新于 April 25, 2019,文中内容可能已过时,请谨慎使用。

0 人点赞