Sybase datediff生成"数据转换不可能"错误

时间:2016-02-10 14:17:12

标签: sybase datediff sybase-iq

我正在尝试使用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方法来做到这一点,而且我的功能不受支持。

0 个答案:

没有答案