首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在配置单元中强制转换复杂数据类型

问如何在配置单元中强制转换复杂数据类型
EN

Stack Overflow用户
提问于 2017-06-18 01:18:48
回答 1查看 1.7K关注 0票数 1

我在hive表中有一个复杂的数据类型列,它是struct,在struct中,我有decimal数据类型。当我用另一个table.How做插入覆盖操作时,我想把这个结构(十进制(10,0))转换成结构(Double)或结构(浮点数),我能做到吗,因为当我尝试它给我一个错误时-

代码语言:javascript
复制
 FAILED: SemanticException [Error 10044]: Line 1:23 Cannot insert into 
 target table because column number/types are different 'avro_poc_orc_test': Cannot convert column 3 from struct<latitude:decimal(28,2),longitude:decimal(19,3)> to struct<latitude:double,longitude:double>.

是否可以将复杂数据类型转换为另一种复杂数据类型?

EN

回答 1

Stack Overflow用户

发布于 2017-06-18 02:25:17

在强制转换相关字段的同时,从其组件构造结构

演示

代码语言:javascript
复制
with t as (select struct(cast (123 as decimal(10,0)),222,333,444) as s)

select  struct(cast(t.s.col1 as double),t.s.col2,t.s.col3,t.s.col4) 
from    t
;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44607351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档