BCP在生成csv文件时跳过一些行

时间:2018-05-09 12:57:44

标签: sql-server bcp

假设t1和t2是2个表,当我在microsoft sql studio中运行sql查询时,它会生成k行,

 select * from t1 join t2 on t1.colA = t2.colA where t1.colB like 'ab%'

但是通过bcp运行时相同的查询会生成总是小于k的n行。 bcp中的查询出了什么问题?

 set DEST = C:\Users\userA\Desktop\exports
 set BCPARGS =-c -t, -S <servername> -d <dbname> -U user1 -P passwd1 -e %DEST %errors.txt
 bcp "select * from t1 join t2 on t1.colA = t2.colA where t1.colB like 'ab%'" queryout %DEST %csvname.csv  %BCPARGS %

1 个答案:

答案 0 :(得分:1)

我不知道%用于表示基于Windows的终端(cmd)中的可替换参数。 因此, %% 应该用在sql查询的相同部分,即喜欢'ab %%'而不是喜欢'ab%'

第一个%表示第二个%是名称的一部分,而不是像转义序列那样的可替换参数。