DateTime2(7)给出0填充值

时间:2016-08-02 09:42:17

标签: sql-server

我想在我的应用程序数据库中以datetime2(7)格式保存日期。 我试过这个:

@CreatedDate DateTime2(7)= getutcdate();

然后我发现价值是这样的:

  

2016-08-02 15:02:14.687 0000

我想2016-08-02 15:02:14。 6871345 格式。

我该怎么办?

1 个答案:

答案 0 :(得分:4)

GETUTCDATE()会返回DATETIME值,因此永远不会有这种解决方案。

而是尝试SYSUTCDATETIME(),因为这会返回一个精度为7位的DATETIME2

例如:

SELECT GETUTCDATE() AS UtcDate,
       SYSUTCDATETIME() AS SysUtcDate

会给出这样的东西:

╔═════════════════════════╦═════════════════════════════╗
║ UtcDate                 ║ SysUtcDate                  ║
╠═════════════════════════╬═════════════════════════════╣
║ 2016-08-02 09:49:54.347 ║ 2016-08-02 09:49:54.3486893 ║
╚═════════════════════════╩═════════════════════════════╚