【问题标题】:cast MS Access DATE() to Getdate()将 MS Access DATE() 转换为 Getdate()
【发布时间】:2021-10-10 11:07:50
【问题描述】:

我在 MS Access to SQL Server 中有一个 ODBC 链接表。在 MS Access 的查询中,我在字段上有以下表达式:

DATE() - [DATE] (a field). 

我需要将 MS Access 函数 DATE(),即 当前日期 更改为 SQL Server GETDATE()。如何在 MS Access 的表达式生成器中进行转换?

【问题讨论】:

  • 你不能。 GETDATE()T-SQL,您在 Access 中只能在传递查询中使用它,因为 Access SQL 对此一无所知。
  • 我不明白你的意思。 Access 在带来性能优势时会自动转换后端的函数调用,您对这种“强制转换”的目标是什么?有什么不行吗?

标签: sql-server ms-access getdate


【解决方案1】:

您不能真正使用 GetDate() t-sql 服务器端值。

但是,您可以做些什么,而不是使用链接表到 sql server 表?

你可以创建一个视图并拥有它

SELECT *, GETDATE() as MyServerDate FROM tblInvoices.

现在,在您的客户端查询中,您有一个名为 MyServerDate 的列。

因此你可以这样做:

SELECT *, (DATE() - [MyServerDate] as MydueDate from MyView

当然,另一种方法是使用传递查询,但它们是只读的。因此,如果 sql 仅用于报告或某些屏幕显示,那么您可以考虑使用 100% 服务器端查询。因此,您在 Access 中创建查询,但将其设置为 PT 查询。因此,您构建的 Access 查询中的原始 SQL 语法必须是 t-sql sql,而不是 access sql。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多