两个报错:
1,报错:(state=08S01,code=3)
这是一个很弱智的报错,sql代码中的参数格式写错了,用shell掉,肯定是shell可以识别的变量啊,格式:${参数名}
2,这个是也是别人代码的坑。竟然少了一年数据。
如下,如果是一个日期字段大于等于如下这样的格式,如:
select * from t where t.date>=concat(substr('2019-09-30',1,4)-2,'-01-01')
会是什么结果?
hive中:是实际是从t.date>=2018-01-01。少了一年数据,原因也很明显,没有做严格的类型转换。
Oracle中:却是可以的,如下:
Impala中:报语法错误