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

如何在SQL Server中将hh:mm:ss转换为hh:mm?

华煜祺
2023-03-14
问题内容

如何在SQL Server中将hh:mm:ss转换为hh:mm?

select Count(Page) as VisitingCount,Page,CONVERT(VARCHAR(8),Date, 108) from scr_SecuristLog   
where Date between '2009-05-04 00:00:00' and '2009-05-06 14:58'  
and [user] in(select USERNAME             
    from scr_CustomerAuthorities )  
group by Page,Date order by [VisitingCount] asc

问题答案:

通常,时间戳集的 顺序不正确
,这意味着您无法获得“最后的”时间戳,该时间戳的时间部分最多为分钟2009-05-06 14:58

在中SQL Server,将日期时间的时间部分保留为1/300午夜之后的第二个小数部分,该“最后”时间戳记为2009-05-06 14:58:59.997,但这不能保证与其他TIMESTAMP存储方法的将来版本兼容。

这意味着您需要将您的BETWEEN状况分为两个状况,其中之一是strict less下一分钟的状况:

select Count(Page) as VisitingCount,Page,CONVERT(VARCHAR(8),Date, 108) from scr_SecuristLog   
where Date >= '2009-05-04 00:00:00'
      AND Date < DATEADD(minute, 1, '2009-05-06 14:58')
and [user] in(select USERNAME             
    from scr_CustomerAuthorities )  
group by Page,Date order by [VisitingCount] asc

该解决方案将有效地使用索引 Date



 类似资料:
  • 问题内容: 如何将int(秒数)转换为mm:ss或hh:mm:ss格式? 我需要使用Python代码(如果可能,请在Django模板中)执行此操作。 问题答案: 我不敢相信众多答案中的任何一个都可以提供我认为的“一种明显的方法”(而且我什至都不是荷兰人!秒(特别是86399秒): 由于time过滤器支持时髦的时间格式语法(我相信是从PHP启发而来的),并且还需要datetime模块和时区实现(例如

  • 问题内容: 这是我的尝试 因此,当我尝试类似的值时3600000ms,我得到01:59:00,这是错误的,因为它应该是01:00:00。显然我的逻辑有问题,但是目前,我看不出它是什么! 有人可以帮忙吗? 编辑 固定它。这是格式化毫秒hh:mm:ss格式的正确方法 问题是这样的TimeUnit.MINUTES.toMinutes(TimeUnit.MILLISECONDS.toHours(milli

  • 问题内容: 好的,我需要显示从SQL 2005作为INT进入SRSS 2005的代理的总通话时间。 对于我的一生,我无法弄清楚我需要使用哪种表达编辑或格式编辑组合。 对于细节部分,我可以使用:= DATEADD(“ s”,SUM(Fields!Talk_Time.Value),CDate(“ 00:00”)) 它将返回:1/1/0001 12:00:14 AM 现在,我可以使用= LEFT(DAT

  • 问题内容: 情况是您有一个以秒(XXX.XX)为单位的值,并且您想使用T-SQL转换为HH:MM:SS。 例子: 121.25 s变为00:02:01.25 问题答案: 您要乘以毫秒,因为小数部分将被丢弃。 如果您希望不带日期部分,可以使用样式为114的CONVERT

  • 问题内容: 我有与此类似的要求:将HH:MM:SS格式的时间仅转换为秒? 但在javascript中。我已经看到了许多将秒转换为不同格式的示例,但没有将HH:MM:SS转换为秒的示例。任何帮助,将不胜感激。 问题答案: 尝试这个:

  • 问题内容: 我有一个名为 test_duration bigint(12) 的数据列。我将以秒为单位的时间存储到数据库中。现在,当我从表中获取记录时,我希望将时间转换为HH:MM:SS格式。我应该如何实现呢?提前致谢。 问题答案: 您可以使用 MySQL 函数SEC_TO_TIME()。 例子: 输出为: 因此,在您的情况下: