我正在编写一个Hive查询,我需要将PIN(列)与字符串值进行比较。该引脚已加密,并且加密的值包含特殊字符。 我需要选择所有PIN码包含此加密值的行。
例如,
> library(quantmod)
> getSymbols("^FTSE")
> get("FTSE")
FTSE.Open FTSE.High FTSE.Low FTSE.Close FTSE.Volume FTSE.Adjusted
2007-01-02 6220.8 6312.5 6220.8 6310.9 1074946500 6310.9
2007-01-03 6310.9 6322.0 6296.0 6319.0 1606892700 6319.0
这导致select * from prod_db.prod_table where pin='ab;xzh[Ge';
被作为分隔符读取,并导致;
错误。
有没有办法解决这个问题?谢谢!
答案 0 :(得分:1)
用\073
替换分号或尝试用双斜杠\\;
逃逸分号:
select * from prod_db.prod_table where pin='ab\073xzh[Ge';
或
select * from prod_db.prod_table where pin='ab\\;xzh[Ge';
答案 1 :(得分:0)
如果您只是要比较的一个值,请使用'\'转义特殊字符。
select * from prod_db.prod_table where pin='ab\;xzh[Ge';