【问题标题】:Now() In ODBC SQL Query?Now() 在 ODBC SQL 查询中?
【发布时间】:2010-05-24 20:50:32
【问题描述】:

我正在尝试将数据库字段更新为当前时间,但无法传递“now()”。我收到以下错误:

'`now`' is not a recognized built-in function name.

我用来查询数据库的方法如下:

Public Sub main()

    Dim cnn As ADODB.Connection
    Dim rst As ADODB.Recordset

    Set cnn = New ADODB.Connection
    Set rst = New ADODB.Recordset

    cnn.Open "ConnectionName"
    rst.ActiveConnection = cnn
    rst.CursorLocation = adUseServer

    rst.Source = "Update Table ..."
    rst.Open

    Set rst = Nothing
    Set cnn = Nothing
End Sub

【问题讨论】:

  • 尝试 getdate() 而不是 now()。 Now() 是 mysql 函数,getdate() 在 TSQL (ms sql server) 中工作。

标签: sql vba sql-update odbc


【解决方案1】:

Now() 是一个 VBA 函数。您想要做的是使用等效的 SQL 函数,但这取决于您要连接到的数据库。

如果您连接的是 SQL Server,请使用 GETDATE()(适用于当地时间)或 GETUTCDATE()(适用于 UTC 时间)。

【讨论】:

  • 非常感谢,我试用了这个功能,它就像一个魅力。我来自 MySQL 背景,now() 是一个可用的函数。这就是我的困惑的来源。时间一到,我就会“接受”你的回答。快乐编码:)
【解决方案2】:

试试 getdate() 函数或 CURRENT_TIMESTAMP

【讨论】:

  • 这也不错。 CURRENT_TIMESTAMP 是 SQL 标准,SQL Server 不带括号就可以理解。
猜你喜欢
  • 1970-01-01
  • 2023-03-25
  • 2011-07-28
  • 2013-02-28
  • 2014-06-20
  • 1970-01-01
  • 1970-01-01
  • 2015-09-18
  • 2012-07-31
相关资源
最近更新 更多