hive中的函数

COALESCE 函数 - PL/HQL 参考

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

语法

sql 复制代码
COALESCE(expr1, expr2 [, expr3, ...]); 

参数

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

注意事项

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

返回值

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

返回类型

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

示例

sql 复制代码
COALESCE(NULL, 1, 2, 3); 

结果:1

兼容性

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

版本

PL/HQL 0.03

NVL 函数 - PL/HQL 参考

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

语法

sql 复制代码
NVL(expr1, expr2 [, expr3, ...]); 

参数

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

注意事项

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

返回值

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

返回类型

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

示例

sql 复制代码
NVL(NULL, 1); 

结果:1

兼容性

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

版本

PL/HQL 0.01

CAST 函数 - PL/HQL 参考

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

语法

sql 复制代码
CAST(expression AS datatype[(length)]); 

注意事项

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

示例 1

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

sql 复制代码
CAST('Abc' AS CHAR(1)); 
--
A

示例 2

截断时间戳字符串:

sql 复制代码
CAST(TIMESTAMP '2015-03-12 10:58:34.111' AS CHAR(10));
--
2015-03-12

兼容性

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

版本

PL/HQL 0.03

CHAR 函数 - PL/HQL 参考

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

语法

sql 复制代码
CHAR(num_expression); 

返回类型

STRING

示例 1

将数字转换为字符串:

sql 复制代码
CHAR(1000); 
--
1000

兼容性

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

版本

PL/HQL 0.03

CONCAT 函数 - PL/HQL 参考

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

语法

sql 复制代码
CONCAT(expr, expr2 [, expr3, ...]); 

注意事项

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

返回类型

STRING

示例

sql 复制代码
CONCAT('a', 'b', NULL, 'c'); 

结果:abc

兼容性

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

版本

PL/HQL 0.3.1

字符串拼接操作符 ||

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

语法

plaintext 复制代码
expr || expr [|| expr ...]

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

如果操作数为 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

参见

  • [CONCAT 函数](#CONCAT 函数)(链接到 CONCAT 函数文档)
相关推荐
计算机毕业编程指导师2 小时前
【计算机毕设选题】基于Hadoop+Spark的化妆品销售数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·spark·课程设计·化妆品
躺柒2 小时前
读数据架构知识体系指南16数据网格(上)
数据仓库·架构·数据分析·数据湖·数据架构·关系数据库
省钱兄--zs13 小时前
北京24小时自助健身房系统软件开发实战:从架构设计到部署指南
java·数据仓库·spring boot·小程序·需求分析
计算机毕业编程指导师1 天前
【Python毕设选题推荐】基于Spark的宫颈癌变光谱特征数据分析可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·spark·毕业设计·宫颈癌变
计算机毕业编程指导师2 天前
计算机毕设选题推荐:基于Hadoop与Spark的Steam游戏数据分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·计算机·spark·毕业设计·steam游戏
计算机毕业编程指导师2 天前
【计算机毕设选题推荐】基于Hadoop+Spark的白鹿抖音评论大数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·计算机·spark·毕业设计·抖音评论
躺柒2 天前
读数据架构知识体系指南14数据编织
大数据·数据仓库·数据分析·数据湖·数据编织
计算机毕业编程指导师2 天前
大数据毕设怎么做?基于Hadoop的多源社交媒体心理健康情感分析与可视化系统从零到一指导 源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·计算机·数据分析·毕业设计·课程设计·媒体
计算机毕业编程指导师2 天前
Python大数据毕设:基于Hadoop的病毒式社交媒体趋势和参与度分析系统怎么做 源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·毕业设计·课程设计·社交媒体
计算机毕业编程指导师2 天前
【计算机毕设推荐】基于Hadoop+Django的LLM多维度性能评估分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·django·毕业设计·课程设计·llm性能