sql的GETDATE()计算问题。

select A.*,B.*,

case when A.f_audio_finish is null 

then DATEDIFF(n,GETDATE(),DATEADD(n,B.testBatch,A.f_rk_time))

when B.testBatch< DATEDIFF(N,A.f_rk_time,A.f_audio_finish) 

then DATEDIFF(N,A.f_audio_finish,A.f_rk_time) 

else null end as csdjs from Internal_Application_BC(nolock) A

left join 

(select *,(CAST(isnull(station,'') as varchar(20))+' '+CAST(isnull(project,'') as varchar(20))) a from watch_BC_ORTsetting(nolock)) B

on A.f_test_item = B.a

问题点如下:

 DATEDIFF(n,GETDATE(),DATEADD(n,B.testBatch,A.f_rk_time))

为什么在页面上这个条件下显示的结果是静态的,按理说我这里的计算有用到GETDATE(),在页面上结果应该是动态的才对啊

chenxf3 发布于 2021-2-4 11:33 (编辑于 2021-2-4 11:33)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
snrtuemcLv8专家互助
发布于2021-2-4 11:37

getdate()取得是今天日期,你在今天查询,一致不变啊,怎么动起来

  • chenxf3 chenxf3(提问者) 但我用的DATEDIFF()计算结果用了N,这个结果不是精确到分钟吗,按理应该会一分钟动一下吧
    2021-02-04 11:41 
  • snrtuemc snrtuemc 回复 chenxf3(提问者) 那你事件隔得久一点查询,看下结果,他是取得服务器时间
    2021-02-04 11:43 
  • chenxf3 chenxf3(提问者) 回复 snrtuemc 他这个不是取的当前系统的时间吗
    2021-02-04 11:45 
  • snrtuemc snrtuemc 回复 chenxf3(提问者) 是数据库系统的时间
    2021-02-04 11:47 
  • chenxf3 chenxf3(提问者) 回复 snrtuemc 哦哦,我一直以为取得是系统的当前时间
    2021-02-04 11:49 
最佳回答
0
烟尘Lv6高级互助
发布于2021-2-4 11:39

datediff n 的话是分钟差,你试试隔几分钟查一下看结果

另外,检查一下A.f_audio_finish is null 是否始终不成立

最佳回答
0
radioliuLv5见习互助
发布于2021-2-4 12:24

你说的动态是每隔几分钟手动查询下,看下是不是不同?

  • 4关注人数
  • 323浏览人数
  • 最后回答于:2021-2-4 12:24
    请选择关闭问题的原因
    确定 取消
    返回顶部