你可以試試這個?:
如果你想讓它作爲其中一個日期,可以手動或編程通過存儲過程:
CREATE PROCEDURE bcp_test_with_date_parameter
@paramDate DATETIME
AS
BEGIN
DECLARE @bcpCmd varchar(2000)
SET @bcpCmd = 'bcp "SELECT * FROM dbname.schema.tablename'
SET @bcpCmd = @bcpCmd + 'WHERE CONVERT(VARCHAR, datecolumn, 101) = ''' + CONVERT(VARCHAR, @paramDate, 101) + ''' '
SET @bcpCmd = @bcpCmd + ' ORDER BY columnnameofchoice" queryout "'
SET @bcpCmd = @bcpCmd + '"C:\tblNameData.txt" -T -c'
EXEC master..xp_cmdshell @bcpCmd
END
但如果你只是想抓住從另一個表的日期,你可以這樣做:
DECLARE @bcpCmd varchar(2000)
DECLARE @dateHolder DATETIME
SELECT @dateHolder = CONVERT(VARCHAR, datecolumn, 101)
FROM dateparametersourcetable
WHERE <place conditions here>
SET @bcpCmd = 'bcp "SELECT * FROM dbname.schema.tablename'
SET @bcpCmd = @bcpCmd + 'WHERE CONVERT(VARCHAR, datecolumn, 101) = ''' + @dateHolder + ''' '
SET @bcpCmd = @bcpCmd + ' ORDER BY columnnameofchoice" queryout "'
SET @bcpCmd = @bcpCmd + '"C:\output.txt" -T -c'
EXEC master..xp_cmdshell @bcpCmd
在對那個上面也可以放置在存儲過程中,它真的取決於你想怎麼辦呢..
有一定的優勢在這裏 - 腳本可以作爲在一個文件中存在OS +鏈接到svn文件夾中。過去我做過很多存儲過程,但這種方法似乎更可取。它看起來非常輕巧。 – sgtz
btw:「%{$ _。OrderDate}」是做什麼的?我想首先消化這一點。 – sgtz
%是foreach對象的別名。請參閱get-alias以獲取完整的別名列表。 Powershell返回具有屬性和方法的對象,但我們只對OrderData屬性感興趣。它所做的是遍歷每個對象,即$ _表示管道中的當前對象(在這種情況下只返回一個對象),抓取OrderDate屬性並將其分配給$ orderDate變量。 –