SELECT
t.field,
case t.type
when 'varchar' then 'string,'
when 'datetime' then 'string,'
when 'bigint' then 'bigint,'
when 'int' then 'int,'
when 'tinyint' then 'int,'
when 'int' then 'int,'
when 'longblob' then 'string,'
when 'text' then 'string,'
when 'longtext' then 'string,'
when 'decimal' then 'decimal(18,3),'
else 'type err--'
end
FROM
( SELECT column_name AS field,data_type AS type FROM information_schema.COLUMNS WHERE table_schema='decent_cloud' and table_name = "t_move_counter" ORDER BY ORDINAL_POSITION asc ) t
内嵌的的子查询查询是核心的部分,外面用的case when 的用途是自己用作其他业务场景使用的,
用于MySQL 数据同步到hive里面,在hive里面创建相同的的字段和字段类型,故而用了这样的一个嵌套查询。