【发布时间】:2017-04-26 11:40:07
【问题描述】:
我有一张名为Transaction 的表。在那里找到了 Time 数据类型为 TimeStamp 的列。
所以数据看起来像2015-01-17 08:12:48.000
我想显示为8 am
例如
`2015-01-17 08:12:48.000` `8 AM`
`2015-01-17 14:12:48.000` `2 PM`
现在我得到了上面的结果。这是我的结果
Hour
----
01 PM
02 PM
04 PM
05 PM
06 PM
07 AM
07 PM
08 AM
09 AM
10 AM
11 AM
12 PM
这是对上述结果的查询。
SELECT
FORMAT(CAST(Time as datetime),'hh tt') hour,
COUNT(TransactionNumber) Total_Transaction,
SUM(Total) salesCost
FROM
[HQMatajer].[dbo].[Transaction]
WHERE
StoreID = '1001'
AND YEAR(Time) = '2015'
AND MONTH(Time) = '01'
AND DAY(Time) = '15'
GROUP BY
FORMAT(CAST(Time as datetime),'hh tt')`
现在我想对时间进行排序。它应该显示为
07 AM
08 AM
09 AM
10 AM
11 AM
12 PM
01 PM
02 PM
.
.
07 PM
谢谢
【问题讨论】:
-
SQL Server 中的
timestamp数据类型与日期和时间完全无关 - 它是一个简单的、基于服务器的二进制计数器 ..... -
我希望你的意思是
datetime,而不是timestamp;如果您使用的是timestamp,则该值没有意义(注意:技术上timestamp已过时 - 它现在是rowversion的别名 - 该类型已重命名以避免这种混淆)
标签: sql-server datetime timestamp