PostgreSQL - invalid input syntax for type timestamp with time zone

问题

在执行以下sql时报错:

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

报错如下:

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()返回的结果是带有时区的时间戳,所以就会报错;需要把时间戳转换成字符串才可以,如下所示:

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

select COALESCE(null,null,now()::varchar,'');
posted @ 2019-04-25 23:41  雨临Lewis  阅读(5795)  评论(0编辑  收藏  举报