假设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 %
答案 0 :(得分:1)
我不知道%用于表示基于Windows的终端(cmd)中的可替换参数。 因此, %% 应该用在sql查询的相同部分,即喜欢'ab %%'而不是喜欢'ab%'
第一个%表示第二个%是名称的一部分,而不是像转义序列那样的可替换参数。