这取决于您使用的SQL服务器的版本。正如@onedaywhen在他的评论中指出的那样,你可以使用DATETIME,但是你会失去一些精确度,因为DATETIME只能精确到3位十进制数(精度为3.33毫秒)。但是,如果您使用的是早期版本的SQL Server,那就是您所拥有的。
如果您运行的是SQL Server 2008,则可以使用DATETIME2,它精确到100纳秒或7位数,这将处理您要做的事情。
如果你真的想要你可以使用DECIMAL列破解一些代表日期/时间的东西。你可能会做的列DECIMAL(20,6),并格式化为
YYYYMMDDHHIISS.ffffff
其中
YYYY=year
MM=month (01-12)
DD=day
HH=hour (24 hour clock)
II=minutes
SS=seconds
ffffff=fractional seconds
实施就留给读者做练习。 (CAVEAT:你应该选择使用类似的东西,注意这个相同的日期/时间格式被用作原始版本的死灵书中计时的基础,而且据传直接导致作者,Abdul Alhazred,被称为“疯狂的阿拉伯人”。:-)
Cthulhu fthagn。
如果您使用'DATETIME'(精确到三分之一秒),它们不会损失精度吗?同上VB6的Date类型和临时功能只能精确到1秒(包括它的Format()函数)? – onedaywhen 2011-04-20 10:34:25
如果你在SQL Server 2008上,你可以使用'datetime2(6)'。 – 2011-04-20 11:48:43
@MikaelEriksson应该是答案!好一个 – 2014-03-28 16:24:10