CONVERT(datetime, CONVERT(varchar(4), T1.iDate / 10000) + '-' + CONVERT(varchar(4),
T1.iDate / 100 - T1.iDate / 10000 * 100) + '-' + CONVERT(varchar(4), T1.iDate - T1.iDate / 100 * 100))
这个生成的字符串可能包含有非法的日期,例如2月30号等
T1.iDate / 100 - T1.iDate / 10000 * 100) + '-' + CONVERT(varchar(4), T1.iDate - T1.iDate / 100 * 100))
这个生成的字符串可能包含有非法的日期,例如2月30号等
CONVERT(varchar(4),T1.iDate / 100 - T1.iDate / 10000 * 100)
算出来的数据有没有可能是13,那么就会出错。还有一个没看明白,既然这个表每天的系统日期录入进数据库,为什么不设置一个时间字段来进行比较?
CONVERT(varchar(4),T1.iDate / 100 - T1.iDate / 10000 * 100)
应该是没有问题的吧,因为T1.iDate / 100 - T1.iDate / 10000 * 100这个我经常用的,用他查询出来的没有13.我也很郁闷了,用cast as试了下就可以了,可是相同的功能语句吗.
前两天还用的好好的,到今天突然出现个错误,错误信息是:DBTYPE_DBTIMESTAMP 到 datetime转换失败!
真郁闷,这个错误只因为两个表,若把这两个表去掉,视图正常使用,但只要加上其中一个就不行,很愁人,搞了一天还是没搞出个啥....希望高手赶紧解决吧!