我想在批處理中使用SQLCMD生成一個非常基本的SQL輸出數據集,其中內容被每個記錄的日期過濾爲兩個值之間的填充單獨的工作文件。這些值被加載到批處理文件的前一步中的變量中。如果我使用操作>或<,我會收到一個錯誤消息,指出'在接近AND的情況下指定的非布爾類型的表達式「。如果我將操作更改爲=或!=,它會處理沒有錯誤,並在輸出數據集中得到適當的結果。批處理sqlcmd使用大於/小於操作數
我已經搜索了文檔和示例,它們提供了在SQLCMD批處理命令中使用操作的適當的sytax,但至今沒有人提及>或<。如何在這種情況下指定這些比較或不可能?問題是操作數內容的數據類型?
SET OutputFile=%reports%\MD.SPCREQ01.%CompNum%.%yyyymmdd%_%hhmmss%.txt
sqlcmd -S %DBServerName% -d %DatabaseName% -o %OutputFile% -Q^
"Select^
FROM_NPA + '/' + FROM_NXX + '-' + FROM_NUMBER AS ""From Number""^
FROM dbo.MACC128^
WHERE CALL_YY + CALL_MM + CALL_DD >= '%FROM-CUT%'^
AND CALL_YY + CALL_MM + CALL_DD <= '%TO-CUT%'^
ORDER by CALL_YY, CALL_MM, CALL_DD, CONNECT_TIME_HH, CONNECT_TIME_MM, CONNECT_TIME_SS "