Foxtable(狐表)用户栏目专家坐堂 → 关于时间的比较


  共有1513人关注过本帖树形打印复制链接

主题:关于时间的比较

帅哥哟,离线,有人找我吗?
luodang2050
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:585 积分:5674 威望:0 精华:0 注册:2014/5/21 10:30:00
关于时间的比较  发帖心情 Post By:2016/8/11 17:52:00 [只看该作者]

如题,SQL数据库时间精确到ms,但狐表加载后数据最高精确到秒,比较上会造成误差,从而引发一些小bug,请问狐表加载数据怎么精确到ms呢?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/11 18:51:00 [只看该作者]

 可以编写代码规避的啊。

 

 比如你之前写 某列 = '2016-08-11 18:48:01'

 

 现在写成 某列 >= '2016-08-11 18:48:01' and 某列 < '2016-08-11 18:48:02'

 

 或者是,强制转换sqlserver的值为去掉ms的格式


 回到顶部
帅哥哟,离线,有人找我吗?
cbt
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:569 积分:4210 威望:0 精华:0 注册:2015/5/13 8:32:00
  发帖心情 Post By:2016/8/11 22:28:00 [只看该作者]

'不知道是不是这样

output.show(DateTime.Now & " " & DateTime.Now.Millisecond)


 回到顶部
帅哥哟,离线,有人找我吗?
luodang2050
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:585 积分:5674 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2016/8/12 21:27:00 [只看该作者]

写了函数,发现你的更简洁、、

'函数调用0===================
'Functions.Execute("时间转高精度文本",t,[取整方式],[精确小数位数])
'20160811将date类型转string类型,同时对比cstr(date),可提高精确度
'返回"yyyy-MM-dd hh:mm:ss.***"
'取整方式:0四舍五入,1向上取整,-1向下取整
'函数调用1===================
Dim t As Date = args(0)
Dim 取整方式 As Integer = 0
If args.length > 1
    取整方式 = args(1)
End If
Dim 精确小数位数 As Integer = 3
If args.length > 2
    精确小数位数 = args(2)
End If
Dim s As String = CStr(t)  '默认转化会自动舍弃小数部分
Dim t2 As Date = CDate(s) 
Dim n As Double =  (t-t2).Totalseconds * 10^精确小数位数
Dim i As Integer
Select Case 取整方式
    Case 0
        i = math.Round(n)
    Case -1
        i = math.Floor(n)
    Case 1
        i = math.Ceiling(n)
End Select
Dim t3 As String
If i = 0
  t3=s
Else
 t3 = s & "." & i
End If
Return t3


 回到顶部