我想在批处理中使用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 "