当前位置: 首页 > 面试题库 >

将日期时间值四舍五入到最接近的半小时

袁泰
2023-03-14
问题内容

我要求将datetime2值四舍五入到最近的半小时。例如,“ 10/17/2013 12:10:00.123”将四舍五入为“ 10/17/2013
12:00:00.0”,而“ 10/17/2013 12:34:17.123”将四舍五入为10/17 / 2013
12:30:00.0’。我的第一个想法是创建一个UDF,它将日期和时间分开,并以这种方式进行。但是,我想知道是否可以在单个T-SQL语句中完成类似的操作?

我正在使用SQL Server 2012,并且列的数据类型为dateTime2(无法转换为浮点数!)


问题答案:

伊恩(Ian)的回答很好,但其中包含不必要的转换。我建议

SELECT CONVERT(smalldatetime, ROUND(CAST([columnname] AS float) * 48.0,0,1)/48.0) FROM [tableName]

如果您想四舍五入到最近的半小时而不是总是四舍五入,请使用

SELECT CONVERT(smalldatetime, ROUND(CAST([columnname] AS float) * 48.0,0)/48.0) FROM [tableName]


 类似资料:
  • 问题内容: 我已经将数据文件加载到Python pandas数据框中。我有一个格式的datetime列。 我需要做的是创建一个新列,将其四舍五入到最接近的四分之一小时。因此,上述日期将四舍五入为。 如何在熊猫中做到这一点?我尝试从此处使用解决方案,但出现错误。 问题答案: 假设您的系列由对象组成,则需要使用。范例- 上面的示例始终四舍五入到前一个四分之一小时(行为类似于发言权功能)。 编辑 四舍五

  • 问题内容: 我有两个Int值(它们必须是Ints),我希望它们在方程式中四舍五入到最接近的值; 该方程使变量始终向下舍入到最小值。例如,以下数字表示; 20000/7000等于2.857 …但是变量显示。 我如何舍入到最接近的数字 而不将其更改为Double 问题答案: 对于 非负 整数,以下函数以纯整数算术给出所需的结果: 例子: 这个想法是 这是任意签名的整数的一种可能实现,该整数也不会溢出:

  • 我有两个Int值(它们必须是Int ),当在一个等式中时,我希望它们四舍五入到最近的值; 此等式使变量始终四舍五入到最小值。例如,数字如下所示; 20000 / 7000 等于 2.857...但变量显示 。 如何使四舍五入到最接近的数字而不将其更改为双精度

  • 问题内容: 我来到了Java程序的一部分,我需要四舍五入到最接近的百位数,并认为可能有某种方法可以做到这一点,但我想没有。因此,我在网上搜索了示例或任何答案,但由于所有示例看起来都接近最接近的一百,因此至今仍未找到任何答案。我只想这样做并向上取整。也许有一些我忽略的简单解决方案。我已经尝试了其他功能,但到目前为止还没有找到答案。如果有人可以帮助我解决这个问题,我将不胜感激。 如果我的电话号码是20

  • 问题内容: 我试图找到一种方法将值四舍五入到最接近的0.05。例如: 0.93四舍五入为0.95 0.81四舍五入为0.80 0.65停留0.65 0.68至0.70 0.67至0.65 用Java有没有简单的方法可以做到这一点? 问题答案: 一种选择如下: 将该值乘以20。 使用进行四舍五入为最接近的整数。 再除以20。 例如: 希望这可以帮助!

  • 问题内容: 如何在MySQL中将时间舍入到最接近的15分钟(例如0、15、30、45)? 问题答案: 在此示例中,我使用CURTIME()作为输入时间,但是您可以使用任何时间字段。 900秒= 15分钟(四舍五入的时间),450秒是(提供四舍五入元素的)一半。我已经用1800/900测试了最近的半小时,应该与其他人一起工作(600/300持续10分钟等)。