55

我正在寻找一个内置 UDF 来将我的配置单元表中的字符串列的值转换为整数,以便使用 SELECT 和 ORDER BY 进行排序。我在语言手册中搜索过,但没有用。任何其他建议也欢迎。

4

3 回答 3

129

cast(str_column as int)

来自:语言手册 UDFs - 类型转换函数

于 2012-09-10T19:25:34.383 回答
6

如果该值介于 –2147483648 和 2147483647 之间,则 cast(string_filed as int) 将起作用。else cast(string_filed as bigint) 将起作用

    hive> select cast('2147483647' as int);
    OK
    2147483647
    
    hive> select cast('2147483648' as int);
    OK
    NULL
    
    hive> select cast('2147483648' as bigint);
    OK
    2147483648
于 2020-09-18T10:20:56.983 回答
-2

它会返回 NULL 但如果作为 BIGINT 会显示数字

于 2019-06-12T15:52:00.777 回答