從我至今讀,在SQL Server(從2008)的數據類型time
應該能夠在時間存儲在HH:MM格式。然後,我這跟下面的簡單練習試着自己:SQL-服務器時間數據類型
create table #mytable (id int, lat float, lon float, trajectory_id int, theTime time(5))
insert into #mytable values
('1','15.8','17.1','162','10:01'),
('2','11.5','59.7','162','10:02'),
('3','16.4','79.9','162','10:03'),
('4','29.5','10.3','180','11:12'),
('5','58.2','11.1','180','11:13'),
('6','54.5','14.1','180','11:14'),
('7','14.9','15.2','166','13:40'),
('8','15.0','13.1','166','13:42')
我對列theTime
預期的結果是:
theTime
10:01
10:02
10:03
11:12
11:13
11:14
13:40
13:42
什麼我的卻是:
theTime
10:01:00.00000
10:02:00.00000
10:03:00.00000
11:12:00.00000
11:13:00.00000
11:14:00.00000
13:40:00.00000
13:42:00.00000
當然,我可以選擇left(theTime, 5)
並獲得預期結果。但我想知道如何直接插入它所需的格式。
我想用一個內置的功能,而不是數字在int
存儲HH
,MM
,SS
作爲一個可能的SQL Server 2005
之前已經使用使用SQL Server 2012感謝
如果您將字段類型定義爲TIME(0),則會將數據存儲爲HH:MM:SS。 TIME支持0到7,它設置秒的小數部分的精度。不幸的是,你不能存儲沒有秒的時間。您將需要在表示層重新格式化數據。 https://msdn.microsoft.com/en-GB/library/bb677243.aspx –