以标准路径在Excel上写入的SQL输出
我试图将SQL查询的输出保存到Excel并保存在标准路径中。我使用以标准路径在Excel上写入的SQL输出,sql,sql-server,sql-server-2012,Sql,Sql Server,Sql Server 2012,我试图将SQL查询的输出保存到Excel并保存在标准路径中。我使用OPENROWSET编写输出 但我得到了一个错误: “Philips”附近的语法不正确 请分享你的宝贵建议 INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=C:\testing.xls;', 'DECLARE @VPTVARCHAR(24) SET @VPT= 'Philips
OPENROWSET
编写输出
但我得到了一个错误:
“Philips”附近的语法不正确
请分享你的宝贵建议
INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\testing.xls;',
'DECLARE @VPTVARCHAR(24) SET @VPT= 'Philips'
DECLARE @DAYS INT SET @DAYS = -30
SELECT *
INTO #XTP1
FROM (SELECT DISTINCT 'START' AS DTT, DATEADD(D,@DAYS,DATEACTIONED) AS DT
FROM REPORTS
WHERE VPT = @VPT
UNION
SELECT DISTINCT 'CHANGE' AS DTT, DATEACTIONED AS DT
FROM REPORTS
WHERE VPT = @VPT
UNION
SELECT 'END' AS DTT, DATEADD(dd, -1, DATEDIFF(dd, 0, GETDATE())) AS DT) AS A
FROM [Sheet1$]'
谢谢您需要添加双引号:
INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\testing.xls;',
'DECLARE @VPTVARCHAR(24) SET @VPT= ''Philips''
DECLARE @DAYS INT SET @DAYS = -30
SELECT *
INTO #XTP1
FROM (SELECT DISTINCT ''START'' AS DTT, DATEADD(D,@DAYS,DATEACTIONED) AS DT
FROM REPORTS
WHERE VPT = @VPT
UNION
SELECT DISTINCT ''CHANGE'' AS DTT, DATEACTIONED AS DT
FROM REPORTS
WHERE VPT = @VPT
UNION
SELECT ''END'' AS DTT, DATEADD(dd, -1, DATEDIFF(dd, 0, GETDATE())) AS DT) AS A
FROM [Sheet1$]')
这将消除语法错误,而不是通过查看查询来查看
'Philips'
。您的报价有误,并且缺少右括号。