温馨提示×

hive命令行如何进行数据类型转换

小樊
81
2024-12-20 16:58:04
栏目: 大数据

Hive支持使用内置函数进行数据类型转换

  1. 字符串转整数:
CAST(column_name AS INT)

例如,将名为age的字符串列转换为整数类型:

SELECT CAST(age AS INT) FROM table_name;
  1. 整数转字符串:
CAST(column_name AS STRING)

例如,将名为id的整数列转换为字符串类型:

SELECT CAST(id AS STRING) FROM table_name;
  1. 浮点数转整数:
CAST(column_name AS INT)

例如,将名为price的浮点数列转换为整数类型(会截断小数部分):

SELECT CAST(price AS INT) FROM table_name;
  1. 整数转浮点数:
CAST(column_name AS FLOAT)

例如,将名为quantity的整数列转换为浮点数类型:

SELECT CAST(quantity AS FLOAT) FROM table_name;
  1. 字符串转浮点数:
CAST(column_name AS FLOAT)

例如,将名为price的字符串列转换为浮点数类型:

SELECT CAST(price AS FLOAT) FROM table_name;
  1. 日期转字符串:
CAST(from_unixtime(unix_timestamp(column_name, 'yyyy-MM-dd')) AS STRING)

例如,将名为date的日期列转换为字符串类型(格式为yyyy-MM-dd):

SELECT CAST(from_unixtime(unix_timestamp(date, 'yyyy-MM-dd')) AS STRING) FROM table_name;
  1. 字符串转日期:
CAST(from_unixtime(unix_timestamp(column_name, 'pattern'), 'yyyy-MM-dd') AS DATE)

例如,将名为date_str的字符串列转换为日期类型(格式为yyyy-MM-dd):

SELECT CAST(from_unixtime(unix_timestamp(date_str, 'yyyy-MM-dd'), 'yyyy-MM-dd') AS DATE) FROM table_name;

请注意,这些示例中的column_nametable_name需要替换为实际的列名和表名。另外,根据您的数据类型和需求,您可能需要调整日期格式。

0