shell脚本中:
hql=“......
nvl( event_info['''order'''],event_info['order'])as order_id,
coalesce(...),
- - 以及正则替换部分要替换的双引号等
......
”
运行脚本执行$hql报错。
查看日志发现解析时去掉了双引号。导致将多个nvl,coalesce语句连在一块,全部当作参数处理,最终字段数量对不上。
修正:在SQL语句中,每个双引号前加上转义字符。
类似event_info['\''order\''']