如何在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 |
|
|
|
|
|