【问题标题】:how do I get date time including milliseconds in VBA如何获取日期时间,包括 VBA 中的毫秒数
【发布时间】:2016-03-22 11:43:13
【问题描述】:

我有一个 VBA 宏 (excel vba),其中有一些查询 SQL Server 数据库字段的代码。该字段的类型为 datetime 该字段的值包括毫秒。

如果我使用 ADO 查询字段并且 Recordset 将给我格式化的字段值并且没有毫秒位 例如在 SQL Management Studio 中查询时的实际字段值 是 2015-12-14 10:19:48.077 但记录集值是 2015 年 14 月 12 日上午 10:19:48

我怎样才能得到实际值?

【问题讨论】:

  • 到目前为止你做了什么来尝试解决这个问题?您可能能够操作 SQL 字符串以添加必要的格式。但是由于您选择不发布代码,因此很难具体说明。请阅读帮助页面以获取有关How to Ask a Good Question 的信息;还有How to Provide an Example
  • 因为Date 变量(包括时间) 不支持毫秒,请考虑使用Double 变量。
  • 互联网搜索显示了许多解决此问题的点击。您尝试了哪种方法,发生了什么?
  • @Gary'sStudent 我也觉得有趣的是 VBA Format 函数似乎也不支持毫秒;尽管单元格属性NumberFormat 的作用与WorksheetFunction.Text 一样
  • @RonRosenfeld 只是没有足够的位......在 VBA 中 Dates 远低于 1900。

标签: sql-server excel vba


【解决方案1】:

尝试转换为字符串。在 SQL Server 中就像这样。

select CONVERT(nvarchar(50), GETDATE(), 113) as MyDateAsStringWithMS 

在 SQL 和 ORACLE 以及 MySQL 和 ODBC 级库(如 Java、VBA 和 COM)之间转换的情况下,将日期转换为字符串非常有用。

我故意选择了 113。当我需要毫秒时,我使用这种格式取得了很大的成功。

【讨论】:

    猜你喜欢
    • 2013-06-22
    • 2017-02-14
    • 2016-11-22
    • 2021-05-31
    • 1970-01-01
    • 2012-11-20
    • 1970-01-01
    • 2021-06-12
    • 1970-01-01
    相关资源
    最近更新 更多