回答

收藏

在SQL中截断秒和毫秒

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

我在截断数据时遇到了一些麻烦。我正在使用SQL的GETDATE()函数来获取当前日期和时间,并将它们输入数据库。但是,我只想保存日期和时间直到分钟。换句话说,我希望在输入新数据时保存dd/ mm / yyyy hh:mm:00.000或dd / mm / yyyy hh:mm。我该怎么做呢?+ Q, A7 Q6 s. T4 R/ s
我应该注意我正在使用MS-SQL。; ]  r' u, }& I. }! R  ?
               
/ R3 A% b2 ^: |5 b解决方案:! l* n; {3 L' s4 K: V
               
% g' }6 F. w0 ]( c% g( [+ u8 n  \8 K
* }+ p' e3 [- k( J) @/ C$ z4 o8 d' H+ Q+ ~7 h
                有许多方法可以做到这一点。
8 N0 J& D$ Y* p$ G9 a; W5 A例如,您可以将生成datetime自GetDate()转换为smalldatetime第一个,例如:, x0 B9 r7 p; R
CAST(GetDate() AS smalldatetime)1 N  \0 ]& b; W* v- y
需要明确的是,这将使生成的秒数向上(或向下)舍入到最接近的分钟,具体取决于当前秒的值。3 U3 V3 L3 T1 G* H2 X
编辑:
3 y# r! n: ~: x6 E- Q9 Q- Z或者,您可以让SQL Serverdatetime为您截断a ,以“清除”(读:不舍入,因为该值已被截断)转换为smalldatetime:& B+ q2 q9 b7 v* J/ T6 B0 m4 y
CAST(DateAdd(minute, DateDiff(minute, 0, GetDate()), 0) AS smalldatetime)
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则