gpt4 book ai didi

casting - 在配置单元中将值从字符串转换为 int

转载 作者:行者123 更新时间:2023-12-02 03:34:15 25 4
gpt4 key购买 nike

我正在 hive 中创建一个表;

create table patients(
patient_id INT,
age_group STRING,
gender STRING,
income_range STRING
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ';

load data local inpath '/mnt/patients.csv' into table patients;

现在当我使用命令时:

hive>select * from patients limit 5;

我正在获取输出:

NULL    75-84,  F,      32000-47999
NULL 75-84, M, 16000-23999
NULL 85+, M, <16000
NULL 65-74, F, 32000-47999
NULL <65, M, <16000

但是当我使用分配 patient_id 作为字符串时,它显示:

 910997967,      75-84,  F,      32000-47999
506013497, 75-84, M, 16000-23999
432041392, 85+, M, <16000
633048699, 65-74, F, 32000-47999

我尝试使用:

 hive>select CAST(patient_id AS int) from patients;

但它没有将值更改为 int 并且只显示

NULL
NULL
...

如何将 patient_id 的值转换为 int 值?

谢谢

最佳答案

正如@visakh 所指出的,您的第一列中有一个逗号 (,):patient_id。

你需要删除它。

你可以使用

    CAST(regexp_replace(patient_id, ',' , '') AS INT)

这类似于 Hive function to replace comma in column value

关于casting - 在配置单元中将值从字符串转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24734698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com