两个报错:
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中:报语法错误


本文解析了SQL代码中因参数格式错误导致的报错(state=08S01,code=3),并深入探讨了在不同数据库(Hive、Oracle、Impala)中处理日期字段时可能遇到的数据缺失问题,强调了类型转换的重要性。
3003

被折叠的 条评论
为什么被折叠?



