当前位置:  开发笔记 > 编程语言 > 正文

如何在T-SQL中完成一段时间

如何解决《如何在T-SQL中完成一段时间》经验,为你挑选了2个好方法。

我正在寻找能够获得时间的功能,并将其舍入到下一个/前一个小时/半小时/四分之一/分钟.



1> IAdapter..:

试试这个功能

CREATE FUNCTION [dbo].[RoundTime] (@Time datetime, @RoundTo float)
RETURNS datetime
AS
BEGIN
   DECLARE @RoundedTime smalldatetime
   DECLARE @Multiplier float

   SET @Multiplier= 24.0/@RoundTo

   SET @RoundedTime= ROUND(CAST(CAST(CONVERT(varchar,@Time,121) AS datetime) AS float) * @Multiplier,0)/@Multiplier

   RETURN @RoundedTime
END



select dbo.roundtime('13:15',0.5)

第一个参数是圆形的时间,第二个参数将基于您的列表(0.5个半小时,1个小时,......)



2> 小智..:

非常好,谢谢.我在线使用它来回合15分钟

convert(smalldatetime,ROUND(cast(TDatalog.Time as float) * (24/.25),0)/(24/.25)) AS RoundedTime

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有