sql-server - 对 SQL Server 的查询中的 MS Access Date() 语法
问题描述
我发现了几篇关于在 Access 前端 VBA 过程中使用 SQL Server 链接表的 GETDATE() 函数的帖子。这些帖子的重点是查询的 WHERE 子句,但我一直无法找到有关使用 GETDATE() 进行列分配的相应信息。
例如,我知道在 WHERE 子句中,我会使用如下内容:
WHERE MyDate = CAST(GETDATE() AS DATE)
但是,当我尝试将当前日期分配给列时,我在 VBA 中遇到语法错误,如下所示:
INSERT INTO MyTable ( SomeValue, TheDate ) SELECT 'Widget' AS Expr1, CAST(GETDATE() AS DATE) AS Expr2;
在此示例中,TheDate 在 SQL Server 中定义为 DateTime。像这样写,VBA 报告“查询表达式'CAST(GETDATE() AS DATE)'中的语法错误(缺少运算符)'。我试图用访问友好的 # 日期分隔符包围表达式,但没有运气。
花了大约 30 分钟在 stackexchange.com 上搜索 SQL 中 MS Access Date() 的各种方法后,我一直找不到这个。然而它是如此简单,我相信它已经在某个地方得到了回答。
解决方案
在 MS Access 中,您可能(不是 100% 确定链接 SQL,您必须进行试验)应该使用Now()
和Date()
功能。第一个相当于getdate()
在 SQL 中,第二个返回没有时间的当前日期。
推荐阅读
- c# - Docusign RestAPI - 将通知发送到另一封电子邮件
- mapbox - Mapbox 矢量平铺 MVT 缺少数据
- node.js - 使用 MongoDB 作为匹配服务器
- java - 如何将没有任何 ID 或重复 ID 的所有文件导出到 Java 中的文本文件?
- php - Codeigniter 按 POINTS 列中的最大值排序
- class - Angular 5 防止向类添加道具
- php - PHP / MySQL / AJAX - 更新多个数据
- html - 如何使用 svg 过滤器在图像过渡中添加更多图像?
- javascript - 渲染组件及其状态
- asp.net-core - 偶尔 System.NotSupportedException:没有数据可用于编码 1252