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查询的主要内容,如果未能解决你的问题,请参考以下文章
使用 VBA 在 Excel 中的 SQL 表上使用参数化查询