我正在尝试使用Sybase IQ 15.4数据库(setdata)中的无符号整数YYYYMMDD出生日期变量(dob)来计算给定YYYYMMDD日期(2013-12-13)的年龄。它不是我的数据库,我无法控制数据的存储方式。 我使用以下代码:
select
convert(date,convert(varchar,dob)) as yearborn,
DATE("2013-12-31") as present,
datediff(month,yearborn,present)/12 as age_in_yrs
from setdata
这在我的Interactive SQL工具中运行良好,但是当我使用SAS连接使用相同的代码运行它时(所以我可以得到一个日志)我得到这样的消息:
错误:CLI执行错误:[Sybase] [ODBC驱动程序] [Sybase IQ]数据异常 - 无法进行数据类型转换。 - (dfe_Cast.cxx 835)
更新:SAS将命令转换为ANSI SQL。所以我认为我正在寻找一种ANSI方法来做到这一点,而且我的功能不受支持。