• hive中的函数


    COALESCE 函数 - PL/HQL 参考

    COALESCE 函数返回第一个非 NULL 表达式。

    语法

    COALESCE(expr1, expr2 [, expr3, ...]); 
    
    • 1

    参数

    参数类型
    exprN任意变量或表达式

    注意事项

    • 当找到第一个非 NULL 表达式时,不会再评估后续表达式。
    • COALESCE 和 NVL 函数是同义词。

    返回值

    • 第一个非 NULL 表达式
    • 如果所有表达式都评估为 NULL,则返回 NULL

    返回类型

    第一个非 NULL 表达式的数据类型

    示例

    COALESCE(NULL, 1, 2, 3); 
    
    • 1

    结果:1

    兼容性

    支持的数据库系统包括 Oracle、IBM DB2、Teradata、Microsoft SQL Server、PostgreSQL、MySQL 和 Netezza。

    版本

    PL/HQL 0.03

    NVL 函数 - PL/HQL 参考

    NVL 函数返回第一个非 NULL 表达式。

    语法

    NVL(expr1, expr2 [, expr3, ...]); 
    
    • 1

    参数

    参数类型
    exprN任意变量或表达式

    注意事项

    • 当找到第一个非 NULL 表达式时,不会再评估后续表达式。
    • NVL 和 COALESCE 函数是同义词。

    返回值

    • 第一个非 NULL 表达式
    • 如果所有表达式都评估为 NULL,则返回 NULL

    返回类型

    第一个非 NULL 表达式的数据类型。

    示例

    NVL(NULL, 1); 
    
    • 1

    结果:1

    兼容性

    支持的数据库系统包括 Oracle、IBM DB2 和 Netezza。

    版本

    PL/HQL 0.01

    CAST 函数 - PL/HQL 参考

    CAST 函数将一个表达式转换为指定的数据类型。

    语法

    CAST(expression AS datatype[(length)]); 
    
    • 1

    注意事项

    • 如果对 CAST 作为 CHAR 或 VARCHAR 函数指定了长度,结果字符串将被截断为该长度。

    示例 1

    将表达式转换为指定长度的字符串:

    CAST('Abc' AS CHAR(1)); 
    --
    A
    
    • 1
    • 2
    • 3

    示例 2

    截断时间戳字符串:

    CAST(TIMESTAMP '2015-03-12 10:58:34.111' AS CHAR(10));
    --
    2015-03-12
    
    • 1
    • 2
    • 3

    兼容性

    支持的数据库系统包括 Oracle、Microsoft SQL Server、IBM DB2、Teradata、PostgreSQL、MySQL 和 Netezza。

    版本

    PL/HQL 0.03

    CHAR 函数 - PL/HQL 参考

    CHAR 函数将一个数字转换为字符串。

    语法

    CHAR(num_expression); 
    
    • 1

    返回类型

    STRING

    示例 1

    将数字转换为字符串:

    CHAR(1000); 
    --
    1000
    
    • 1
    • 2
    • 3

    兼容性

    支持的数据库系统包括 IBM DB2。

    版本

    PL/HQL 0.03

    CONCAT 函数 - PL/HQL 参考

    CONCAT 函数用于连接两个或多个字符串。

    语法

    CONCAT(expr, expr2 [, expr3, ...]); 
    
    • 1

    注意事项

    • 如果一个表达式的值为 NULL,则将其视为空字符串。
    • 仅当所有表达式的值均为 NULL 时,CONCAT 函数返回 NULL。

    返回类型

    STRING

    示例

    CONCAT('a', 'b', NULL, 'c'); 
    
    • 1

    结果:abc

    兼容性

    支持的数据库系统包括 Oracle、IBM DB2、Teradata、Microsoft SQL Server、PostgreSQL、MySQL 和 Netezza。

    版本

    PL/HQL 0.3.1

    字符串拼接操作符 ||

    您可以使用 || 操作符来连接两个或多个字符串。

    语法

    expr || expr [|| expr ...]
    
    • 1

    操作的结果始终为字符串。如果操作数是数字,它在连接之前会被隐式转换为字符串。

    如果操作数为 NULL,在连接中将被视为空字符串’'。如果所有操作数都为 NULL,则结果为 NULL。

    示例

    | 拼接 | 结果 | 结果类型 |
    | ‘a’ %%||%% ‘b’ %%||%% ‘c’ | ‘abc’ | 字符串 |
    | ‘a’ %%||%% 1 %%||%% ‘c’ | ‘a1c’ | 字符串 |
    | ‘a’ %%||%% NULL %%||%% ‘c’ | ‘ac’ | 字符串 |
    | NULL %%||%% NULL | NULL | 字符串 |

    即时SQL转换

    Hive不支持 || 操作符,因此PL/HQL在SQL SELECT语句中会自动转换为[[concat|CONCAT]]函数。

    兼容性

    支持的数据库系统包括 Oracle、IBM DB2、Teradata、PostgreSQL 和 Netezza。

    版本

    HPL/SQL 0.1

    参见

  • 相关阅读:
    部分背包问题【贪心算法】
    PyTorch深度学习(一)【线性模型、梯度下降、随机梯度下降】
    【每日一题】1146. 快照数组-2024.4.26
    【Ruby】怎样判断一个类是否有某个方法,一个实例是否有某个属性?
    在 Android 12 中使用 widget
    OpenCV特征匹配
    VSCode中编译运行C++程序
    Springboot集成SSE实现消息推送之单工通信
    java swing(GUI) MySQL实现的学生选课成绩管理系统源码+运行教程
    华为OD机试 - 数字排列(Java & JS & Python & C & C++)
  • 原文地址:https://blog.csdn.net/xielinrui123/article/details/132865766