仅在MSSQL中存储小时和分钟的数据类型?

时间:2019-04-03 13:00:40

标签: sql-server sqldatatypes

MSSQL中是否有任何数据类型可以让我仅存储时间值的小时和分钟?

1 个答案:

答案 0 :(得分:3)

不完全是。

您能获得的最接近的是time(0)

Specified scale | Result (precision, scale)
---------------------------------------------
time(0)         | (8,0)

来自documentation

  

字符长度::最小8个位置(hh:mm:ss)至16个最大位置(hh:mm:ss.nnnnnnn)。 [...]

如果您确实只需要小时和分钟部分,那么您也可以有两个tinyint列。

如果您的问题仅与显示有关,请在ToString("HH:mm")上使用DateTime。如果仅存储时间,则会在.net中获得一个TimeSpan,因此在此示例中我将创建一个新的DateTime实例:

var dateTime = new DateTime(timeSpan.Ticks);
var formattedString = dateTime.ToString("HH:mm");