VBA - 在 SQL 查询中使用日期变量而不是 GETDATE()

布拉德利

我有一个查询,使用 GETDATE() 作为日期参考可以正常工作,它收集年龄范围内的数据。但是,我想使用浮动 DATE 参考点,以便根据提供的 (dd/mm/yyyy) 日期而不是当前日期时间计算年龄

如何在下面的 WHERE 子句之后更改查询中的 GETDATE() 以使用 aYear 中的可变日期来获取我的年龄范围?

注意:正在使用 SQL 查询将数据从 PostGres 数据集中提取到 Excel 2010

Dim sAge As Integer
    sAge = ThisWorkbook.Sheets("INPUT").Range("B5")    'AGE FROM
Dim eAge As Integer
    eAge = ThisWorkbook.Sheets("INPUT").Range("C5")    'AGE TO
Dim aDate As String
    aDate = ThisWorkbook.Sheets("INPUT").Range("D5")   'CALC AGE USING THIS DATE
    aYear = Format(aDate, "dd/mm/yyyy")

Dim abc As String
abc = "SELECT c.id, p.dob, [AGE NOW] = dbo.AGE(p.dob, GETDATE()) " _
    & "FROM table c INNER JOIN person p ON c.id=p.id " _
    & "WHERE ( dbo.AGE(p.dob, GETDATE()) >= " & [sAge] & " AND dbo.AGE(p.dob, GETDATE()) <= " & [eAge] & " ) " _

Set rs = conn.Execute(abc)
With ActiveSheet.QueryTables.Add(Connection:=rs, Destination:=Range("A1"))
    .Refresh
End With

rs.Close
n8.

更改dbo.AGE(p.dob, GETDATE())dbo.AGE(p.dob, '" & aYear & "')

请注意,当您连接字符串时,您不包括引号,因此您必须将单引号括在双引号周围,以便它们存在于字符串中。

需要考虑的是,您将日期作为字符串传递,因此如果您连接的日期不是 Postgres“不喜欢”的格式,您可能会看到问题。只是在测试输出时要记住一些事情。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用 GetDate 的 Sql 错误

来自分类Dev

如何使用VBA插入getdate函数

来自分类Dev

SQL Server:比较日期时间与GETDATE()

来自分类Dev

Dapper SqlDateTime在SQL Server中使用GETDATE()溢出

来自分类Dev

在OpenQuery SQL中使用getdate()到Oracle Linked Server

来自分类Dev

SQL日期查询中的VBA变量

来自分类Dev

SQL GetDate()显示当前日期还是系统日期?

来自分类Dev

如何在 sql server 2008 中将日期与 GETDATE() 进行比较

来自分类Dev

计算如何使用SQL中的客户函数获取GETDATE()-4

来自分类Dev

SQL GetDate()返回错误的时间

来自分类Dev

使用VBA函数查询SQL

来自分类Dev

使用VBA函数查询SQL

来自分类Dev

使用日期以dd / mm / yyyy格式访问vba sql查询

来自分类Dev

SSIS:t-sql命令getdate()加载当前日期,但不加载时间部分

来自分类Dev

如何将存储为nvarchar的各种日期格式与SQL Server中的getdate()进行比较

来自分类Dev

计算日期(VBA / SQL)

来自分类Dev

基于 getdate 的动态日期更改

来自分类Dev

SQL查询VBA ADO

来自分类Dev

VBA SQL 查询范围

来自分类Dev

在VBA Excel中的SQL查询中使用表名

来自分类Dev

从Excel使用VBA变量函数调用SQL查询

来自分类Dev

VBA中日期之间的SQL查询

来自分类Dev

SQL Server getdate()返回奇怪的结果?

来自分类Dev

leap年的SQL CONVERT GETDATE()错误

来自分类Dev

在SQL查询中使用变量

来自分类Dev

在 SQL 查询中使用变量

来自分类Dev

使用 GETDATE() 从表中提取

来自分类Dev

使用getDate在javascript中设置日期

来自分类Dev

使用 GETDATE 返回某个日期后的数据