回答

收藏

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

技术问答 技术问答 190 人阅读 | 0 人回复 | 2023-09-14

如何在SQL Server中将hh:mm:ss转换为hh:mm?6 M8 l1 p) U; g: A+ a
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               
4 S! }& D+ w# U, V    解决方案:                                                               
6 E6 E, ~  v6 }) p- R/ x                                                                通常,时间戳 顺序不正确
- m+ G" |2 c' z) ]  y' G' Q,这意味着你无法获得最后时间戳,最多为2009分钟-05-06 14:58。7 Q" g5 S7 q- z. J! u
在中SQL Server,将日期时间部分保留为午夜后1/300的第二个小数部分,最后时间戳记为2009-05-0614:58:59.但这并不能保证与其他人相比TIMESTAMP存储方法的将来版本兼容。, s/ f7 n: K* t- ^! Y
这意味着你需要把你的BETWEEN情况分为两种情况,其中一种是strict less下一分钟:
, M3 r9 I" H- Q$ l6 c2 u# w9 xselect Count(Page) as VisitingCount,Page,CONVERT(VARCHAR(8),Date,108) from scr_SecuristLog   where Date >= '2009-05-04 00:000AND Date 该解决方案将有效地使用索引 Date
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则