excel中的sql查询

Posted

技术标签:

【中文标题】excel中的sql查询【英文标题】:sql query in excel 【发布时间】:2011-05-11 09:45:18 【问题描述】:

我有这个查询,其中参数是从 Excel 工作表中的 2 个单元格中获取的,而不是查询所在的那个。所以,问题是我打开数据连接来更改查询,因为它返回的值是错误的,并替换了查询。现在我执行以下操作:

DECLARE         @year AS int 
DECLARE         @month AS int 
DECLARE         @date AS datetime 

SET             @year = ?
SET             @month = ? 

SET             @date = DATEADD( month, 1, CONVERT( datetime, CONVERT( varchar(4), ?) + '-' + RIGHT( '0' + CONVERT( varchar(2), ?), 2 ) + '-01' ) ) 
SET             @date = DATEADD( month, 1, CONVERT( datetime, CONVERT( varchar(4), ? ) + '-' + RIGHT( '0' + CONVERT( varchar(2), ? ), 2 ) + '-01' ) ) 

然后我希望参数按钮被高亮显示,以便我为它们定制,什么都没有。 声明本身有问题吗?

稍后,在查询中,我会做诸如日期>=

之类的事情
DECLARE         @year AS int 
DECLARE         @month AS int 
DECLARE         @date AS datetime 

SET             @year = ?
SET             @month = ? 

SET             @date = DATEADD( month, 1, CONVERT( datetime, CONVERT( varchar(4), ?) + '-' + RIGHT( '0' + CONVERT( varchar(2), ?), 2 ) + '-01' ) ) 
SET             @date = DATEADD( month, 1, CONVERT( datetime, CONVERT( varchar(4), ? ) + '-' + RIGHT( '0' + CONVERT( varchar(2), ? ), 2 ) + '-01' ) ) 

这些是参数。 这个日期声明有问题吗?基本上我有 2 个日期,closure_date 和 begin_date,它们都接受年份和月份。这些是参数。我应该如何为他们“查询”?

【问题讨论】:

您的查询是否存储为存储过程?如果你想传递参数,它应该。 【参考方案1】:

SET             @year = ?
SET             @month = ? 

在我看来是错误的 - 我不是 100% 确定,但这可能是问题所在......

【讨论】:

以上是关于excel中的sql查询的主要内容,如果未能解决你的问题,请参考以下文章

如何用SQL语句查询Excel数据

Excel表中的SQL查询

使用 VBA 在 Excel 中的 SQL 表上使用参数化查询

改进 Excel VBA 中的 SQL 查询

Microsoft Access 使用 Access 中的 SQL 查询合并两个 Excel 文件

如何用SQL语句查询Excel数据?