Hive 配置单元错误“函数IF的第二个和第三个参数应具有相同的类型,但它们不同:“时间戳”和“字符串”

Hive 配置单元错误“函数IF的第二个和第三个参数应具有相同的类型,但它们不同:“时间戳”和“字符串”,hive,Hive,我在配置单元中遇到以下错误: 函数IF的第二个和第三个参数应该具有相同的类型,但它们是不同的:timestamp和string 以下是查询: 使用cte\u固定时间作为 选择 *, 将时间戳拆分为字符串、'yyyyMMddHHmmss'、'yyyy-MM-dd HH:MM:ss'、''[0]作为bl\u日期, 将时间戳拆分为字符串,'yyyyMMddHHmmss','yyyy-MM-dd HH:MM:ss',''[1]作为bl\u时间 从…起 桌子 选择 *, SUMbaseline_按区域

我在配置单元中遇到以下错误:

函数IF的第二个和第三个参数应该具有相同的类型,但它们是不同的:timestamp和string

以下是查询:

使用cte\u固定时间作为 选择 *, 将时间戳拆分为字符串、'yyyyMMddHHmmss'、'yyyy-MM-dd HH:MM:ss'、''[0]作为bl\u日期, 将时间戳拆分为字符串,'yyyyMMddHHmmss','yyyy-MM-dd HH:MM:ss',''[1]作为bl\u时间 从…起 桌子 选择 *, SUMbaseline_按区域设置访问OVERORDER,CASTtimestamp为当前行和4之间的INT行,后面为bl_ad_访问,
如果第二个参数为CastConcatbl_date',bl_time AS STRING,则该部分为时间戳:

要将utc时间戳转换为日期,bl时间为字符串

第三个参数else部分是一个字符串:

CASTCONCATbl_日期“”,bl_时间作为字符串


您需要在第三个参数上使用to utc时间戳,或者在第二个参数上停止使用。

整个代码没有多大意义。添加包含所需结果的数据示例。