回答

收藏

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

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

我需要将datetime变量从现在开始设置为两天,但时间部分必须为18:00。
  R3 ?( d$ |( `( v' }! `8 X! Z例如,如果我getdate()现在打电话,我会得到2010-05-17 13:18:07.260。我需要将其设置为2010-05-19
8 G/ H( @! o3 S18:00:00.000。/ q, |0 N; l% \
是否有人对此有很好的摘录,或者有任何想法正确地做到这一点?
5 C. r7 h0 `% h& V$ b  N. b( V7 c               
) E$ ]! @6 P7 W; b: r" y解决方案:
) j8 y: y; B) `; l( }7 j               
4 {: Y$ a, x3 ^# [  U1 a9 N- _0 K  j5 K% F: [# l0 P
2 h1 Z1 R' B6 y3 T
                SELECT DATEADD(hh, 24 * 2 + 18, DATEADD(dd, DATEDIFF(dd, 0, GETDATE()), 0))
* A$ ?7 g2 X; k) H% \9 a4 p% L这会截断当前日期,并增加2天18小时(24 * 2 + 18)。# N; a+ T5 y4 z
可能的变化:  z& C$ i" A( Z3 R- ]( z
SELECT DATEADD(hh, 18, DATEADD(dd, DATEDIFF(dd, -2, GETDATE()), 0))
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则