如何使用 bash 脚本中的 vsql -v 将多个名称值对传递到 SQL 文件?

How to pass multiple name value pairs to an SQL file using vsql -v from a bash script?

如何使用 vsql 命令行选项将多个参数传递给 SQL 文件?

以下使用单个参数:

/vsql -h${SERVER} -U${USER} -w${PWD} -A -t -P fieldsep=, -f test.sql -v date1="'"${FIRSTDAY}"'" > test.csv

但我还想传递最后一个日期:

/vsql -h${SERVER} -U${USER} -w${PWD} -A -t -P fieldsep=, -f test.sql -v date1="'"${FIRSTDAY}"'" date2="'"${LASTDAY}"'" > test.csv

但这会引发错误:

Database "date2='20160131'" does not exist

只需根据需要多次重复 -v 选项:

vsql -h${SERVER} -U${USER} -w${PWD} -A -t -P fieldsep=, -f test.sql \
-v date1="'"${FIRSTDAY}"'" -v date2="'"${LASTDAY}"'" > test.csv