我需要在我传递到Windows批处理文件的SQL查询中使用%
字符。我的问题是没有考虑这个角色。
towns=(12232, 12233)
for %%a in %towns% do (
"C:\Program Files\PostgreSQL\9.4\bin\pgsql2shp.exe" -h localhost -u thomas -P password thomas_db "SELECT * FROM schema.table WHERE code like '%%a%'"
)
我收到以下错误:
C:\ batch><" C:\ Program Files \ PostgreSQL \ 9.4 \ bin \ pgsql2shp.exe" -h localhost -u thomas -P password thomas_db" SELECT * FROM schema.table WHERE code like' 12232'"> 初始化... 错误:无法确定表元数据
LIKE '%%a%'
被解释为LIKE '12232'
,应该为LIKE '12232%'
。
答案 0 :(得分:1)
一个百分之二的百分比逃脱了一倍,所以加倍:
... WHERE code like '%%a%%%'"