obj_20110530105944dj80应该是"obj_yyyyMMddHHmmssdj80" 可以比较中间的一段时间串。select * from tableName where cast(substring([ID], 5, 16) as double)<=cast(substring(@ID, 5, 16) as double)
是索引大于之前的还是说日期大于之前的??? 如果是日期的话 order by就行了啊
截取出来的字符串转为 datetime 是报错!
select * from 表 where convert(ID,int) <= convert(你的ID,int)
select * from 表 where cast(ID as int) <= cast(你的ID as int)
是的话,就好办了,将string转型成int的,然后比较取出<=ID的值即可。
从这里可以看出fCreateDate字段的必要性了吧!
如果这个ID是字母+数字的组合,那么你可能需要把字母部分先替换掉,再比较数字部分。
如果楼主不想花时间去学的话,可以把表按照这个ID排序,
(如果你要的数据是在当前记录前面的话,那你在把这个表DESC一下,)
用DATAREADER去读取,读取到当前行的下一行,返回就OK了
可以比较中间的一段时间串。select * from tableName where cast(substring([ID], 5, 16) as double)<=cast(substring(@ID, 5, 16) as double)
如果是日期的话 order by就行了啊