在使用datediff函数进行日期处理的时候为什么出现列不存在的错误?
代码如下:select
DATEDIFF(year,CAST(CAST(jsonb_extract_path_text(jsonb,'loanDate') AS char(10)) AS Date), CAST(CAST(jsonb_extract_path_text(jsonb,'returnDate') AS char(10)) AS Date))
FROM loan;
column "year" does not exist
"jsonb_extract_path_text" 这个函数是postgresql的,sqlserver里面没有.
datediff这个函数在原生的postgresql里也没有,所以你用的数据库应该是某个基于postgresql的改版,或者是原生postgresql打上了一个叫datediff的函数,而且极有可能是为了兼容mysql的datediff函数,所以它应该满足mysql中datediff函数的语法,即只需要传入两个日期获得天数差异。
你可以执行一下下面这个sql,看看到底是个啥数据库
select version();
那这个year到底是否存在啊
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!