[Amazon](500310)无效操作:声明返回整数的函数返回类型不匹配;

时间:2018-01-10 07:24:38

标签: sql amazon-redshift

我正在尝试在Amazon Redshift中创建SQL函数。

请告诉我为什么会收到此错误,我该如何解决?

  
    

错误:Amazon无效操作:声明返回整数的函数返回类型不匹配;

  

我的代码是:

create function calc_age (varchar)
returns int
stable
AS $$   
    select DATEDIFF(YY,to_date(substring($1,1,10),'yyyy-mm-dd'),to_date(GETDATE(),'yyyy-mm-dd'))
$$ Language sql;

1 个答案:

答案 0 :(得分:2)

根据Amazon's redshift documentationDATEDIFF函数返回类型为BIGINT

我建议您尝试使用以下查询将其转换为INT

select CONVERT(integer, DATEDIFF(YY,to_date(substring($1,1,10),'yyyy-mm-dd'),to_date(GETDATE(),'yyyy-mm-dd')))

要详细了解CONVERT功能,请查看This