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,'');


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM