提问人:ob213 提问时间:1/7/2012 更新时间:3/24/2023 访问量:9638
如何在TSQL中截断秒?
How to truncate seconds in TSQL?
答:
11赞
dknaack
1/7/2012
#1
描述
可以使用 T-SQL 函数。convert
样本
PRINT convert(varchar(5), SYSDATETIME(), 108)
会给你hh:mm
更多信息
0赞
Nick Vaccaro
1/7/2012
#2
如果需要完全删除秒数,可以使用 DATEPART() 函数 (SQL Server) 去掉小时和分钟,然后将其追加回一起。(如果可行,我更喜欢 dknaack 的解决方案。
SELECT CAST(DATEPART(hour, SYSDATETIME()) + ':' + DATEPART(minute, SYSDATETIME()) AS DATETIME)
1赞
Mikael Eriksson
1/7/2012
#3
select cast(left(cast(SYSDATETIME() AS time), 5) as time)
4赞
Daniel Leach
3/31/2017
#4
如果要截断秒数,但仍具有 T-SQL Date 数据类型,请先将日期从日期“0”转换为分钟数,然后将分钟数加回“0”。此答案不需要任何额外的解析/转换。此方法适用于截断其他部分,只需更改 MINUTE。
例:SELECT DATEADD(MINUTE, DATEDIFF(MINUTE, 0, '2016-01-01 23:22:56.997'), 0)
评论
2赞
Spivonious
9/22/2017
令我惊讶的是,其他答案都将日期转换为各种字符串,而不是这种简单明了的解决方案。
0赞
pcl
2/16/2021
解决方案的现场
0赞
Danil Suhomlinov
3/24/2023
#5
SELECT FORMAT(time_column, 'yyyy-MM-ddThh:mm:00.000Z') from table
评论
1赞
Jeff Moden
3/25/2023
请小心...FORMAT() 函数至少比使用 CONVERT() 想出的任何其他方法慢 17 倍。
0赞
Tyler2P
3/25/2023
通过添加有关代码的作用以及它如何帮助 OP 的更多信息,可以改进您的答案。
评论