数据库里有2个字段Date1,Date2,类型分别为varchar 、datatime现在需要把同一条记录的Date1与Date2进行比较大小,得出相隔的天数,于是我写了这个函数:
 Public Function GetDateNum(ByVal inDate1, ByVal inDate2) As Integer
        Dim indate11 As DateTime = inDate1
        Dim indate22 As DateTime = inDate2
        Return DateDiff(DateInterval.Day, indate11, inDate22)
    End Function
好象得出的结果好象有点偏差啊?但是怎么写?请各位指点

解决方案 »

  1.   

    转换一下date1到datetime,然后再做一下比较就是啦.应该不会有什么问题。除非这个varchar里存的不是日期类型的数据。DateDiff(DateInterval.Day, DateTime.Parse(Date1), Date2)
      

  2.   

    在sql语句中直接处理不行吗?用Convert转换数据类型,然后用DATEDIFF取她们相差的天或月或年等DATEDIFF获取的 有关DATEDIF方法详细使用 请参考 SQL帮助
      

  3.   

    晕,先不说你这个 Function 是不是多此一举,这种计算直接让数据库算就完了啊
      

  4.   

    顺便问各位:DATEDIFF(day, UploadDate, Convert(ArivalDate) as datetime) AS DayNum上面这样转换错在哪里?麻烦说说
      

  5.   

    知道原因了,应该这样写,汗~~~
    DATEDIFF(day, UploadDate, Convert(datetime,ArivalDate)) AS DayNum