|
是否有任何棘手的格式来格式化小时,分钟,秒等秒。例如,
3 w W2 d, i x1 @" g; G% \( V: Y: d. T, {* [; _% L
3660
- W7 V: v% v* K5 ]5 x9 l" A% k$ Z D8 G: H9 k% Q1 X
秒将显示为
# H/ n3 ^- U1 e4 l0 K1 e' U+ Z3 m" _, |! ?
01h 01m 00s
c' [8 e8 e# E- \% M& M q7 u
# ^: d( I/ C3 U, W" s或者) q9 ?' t( G7 Q. n
) c# F4 J1 g+ O6 [01:01:00
* S {3 c: l1 i9 \" Z
& o/ j! K/ q; C7 I! m1 b2 c8 w我知道这样做的标准方法:
: L. a# H% h% i! ^/ W4 D3 u[ol]将所有秒数除以3600,以获取小时数
3 O. J7 M6 e3 s8 U将剩下的秒数除以60得到分钟
5 J$ k! _) I( E4 W6 _8 P剩下的就是几秒钟
# \/ w4 _* g0 F" E- I[/ol]! [/ K% w4 Q; o7 U! R/ f4 x
我遇到了以下问题:* ^8 k; B9 X, N5 }
[ol]+ a) {8 E" v6 c
我无法创建执行此操作的单独功能。
2 z- H, A; Z4 H; j# x* g
' w& j# @3 K" X' C# V我的代码正在使用多个CTE进行查看。因此,只能使用CTE声明变量。! r- w1 _/ P1 s7 V* ]* o
. ^$ z8 o6 R4 e9 s4 y1 O \7 I我无法使用标准解决方案,因为我将获得比一天更大的结果-如何使用T-SQL将Seconds转换为HH:MM:SS
7 D1 e: d5 y. P7 t
: t s" V2 ?5 S7 Y7 a& x[/ol]
. X8 @# N8 p% o% l) }/ n7 w . ]6 H/ ?9 i3 n! \
解决方案:
# f* A2 M6 [- r3 h* y0 L- e4 n3 u
* o/ a8 L1 c8 j8 `1 p; F- B9 k0 x u+ j# f" g# h2 l: v0 a
' f9 J, p8 G8 X* ?. n) X
SELECT RIGHT(‘00’+CONVERT(VARCHAR(10),Seconds/3600),2)- C/ ]# @7 y# l
+’:’
1 c& T9 s, `: _, m' Z! S + RIGHT(‘00’+CONVERT(VARCHAR(2),(Seconds%3600)/60),2) / O/ L1 B9 J: @( I) p
+’:’ 7 Z8 d2 X1 `0 I* A p6 }1 C: d! r2 d9 ]
+ RIGHT(‘00’+CONVERT(VARCHAR(2),Seconds%60),2) AS [HH:MM:SS]
5 s( X$ E- v5 o- Z8 J8 { FROM table1
5 e. o' A" Z# I结果: ( H3 r& L% L! V5 l ^" }& W% N
[table][tr][td]
3 X1 d) @" G! X& x" t cHH:MM:SS
3 a. R* M& q- K" C[/td][/tr][tr][td]
/ y, q' G3 J7 D t) v01:01:00# A" z3 P2 k" J- g" ]. t
[/td][/tr][tr][td]) w* h, a9 [( F- ]3 q# P
01:03:20
V: _. ]/ T/ Z; G" e- n* P5 I9 l' {[/td][/tr][tr][td]1 w, n1 f# J x. _1 l+ v& L3 L
01:10:00' M* G5 `' D; v! J M) E
[/td][/tr][tr][td]
1 d3 X% P+ u% m# y, Y' f00:10:00
: e3 f5 p! M3 _& T[/td][/tr][tr][td]3 f& B$ J8 Q' ?
00:01:00
8 C0 I1 e0 {& N) d# Q6 C$ |" v[/td][/tr][tr][td]
- y$ [- p5 ]% k6 A00:00:30; H1 K* `2 V* F% I
[/td][/tr][tr][td]7 G. D( f1 g, S+ ~" ~" b; X
24:00:00' k: K$ l: D0 [, x o* G4 c, w
[/td][/tr][tr][td]; H+ p4 g1 B% T4 d
24:06:40) d$ D H8 J1 p# g
- \# C$ A- |$ V6 x看到这个SQLFiddle |
|