我一直在玩SQLCMD将.SQL结果输出到文件中。它正在工作,但实际的SQL语句也显示在输出文件中,我显然不想要。我使用.bat文件来运行SQL文件。以下命令是我在.bat中的命令:
SQLCMD -S MyServerName -d MyDBName -i C:\test\start.SQL -o C:\test\out.txt -e
在我的start.SQL中我有以下内容:
set nocount on
SELECT '<HEADER>', getDate(), '<HHEADER>'
SELECT UPPER(ACCTNUM),
CONVERT(VARCHAR(10),DATEEXP,126),
UPPER(OPERID),
CONVERT(VARCHAR,CREATE_TMSTMP,120)
FROM RETURNS
WHERE CREATE_TMSTMP < getDate()
AND CREATE_TMSTMP > getDate() - 1
SELECT '<TRAILER>', getDate(), '<HHEADER>'
set nocount off
在输出文件中显示正确的信息,但它有点破旧等等,甚至显示已执行的SQL命令。有没有办法解决这个问题。我在这里做错了吗?任何帮助将不胜感激。
答案 0 :(得分:1)
为什么使用-e选项?
-e 将输入脚本写入标准输出设备(stdout)。
答案 1 :(得分:0)
破折号是标题的一部分。使用-h-1指定无标头。如果这是不可接受的,请使用像FINDSTR / B / V&#34; ----&#34;排除那个标题行...假设没有你想要以短划线开头的行。