回答

收藏

将datetime变量的时间部分设置为18:00

技术问答 技术问答 273 人阅读 | 0 人回复 | 2023-09-14

我需要将datetime变量从现在开始设置为两天,但时间部分必须为18:00。# l, U  A' |5 P6 w" C) g# O
例如,如果我getdate()现在打电话,我会得到2010-05-17 13:18:07.260。我需要将其设置为2010-05-19) \# E- s4 v! C) {
18:00:00.000。" S6 L1 z$ z% c- e1 k' k* X0 j& e( O+ e! t
是否有人对此有很好的摘录,或者有任何想法正确地做到这一点?  y) V: p* c; ~1 t! A
                . O6 t) t0 k4 ]3 m  t8 ~6 Z- @$ d/ K
解决方案:
1 f& v& M' C, m/ J$ a2 A9 A9 i' c. d               
" I9 V4 n% k! B* U0 i1 x% D( F- J" B) C2 s9 v7 T
  P0 `% R# V6 j: p
                SELECT DATEADD(hh, 24 * 2 + 18, DATEADD(dd, DATEDIFF(dd, 0, GETDATE()), 0))8 g5 p5 Q4 f! A8 z5 M, t
这会截断当前日期,并增加2天18小时(24 * 2 + 18)。
7 e) o5 C8 j3 B: e. W0 W可能的变化:0 K! `) O- S5 \5 O: |) V
SELECT DATEADD(hh, 18, DATEADD(dd, DATEDIFF(dd, -2, GETDATE()), 0))
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则