云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

云存储_深圳制作企业网站_代金券

小七 141 0

简介

在这篇文章中,我想描述在saphana中使用SQL将连接的字符串拆分成多行的选项。根据您使用的HANA系统版本,您可以选择有效的版本。

创建自定义函数(当SAP HANA系统版本为2.0 SP02或更低版本时)

如果您的HANA系统版本为2.0 SP2或更低版本,则没有用于拆分字符串的内置函数,这就是为什么您需要创建自定义函数。

您有逗号分隔的字符串'A1,A2,A3,A4,A5,A6',您想显示为多行。下面是一个表函数代码,用于将逗号分隔的字符串拆分为多行。

*如果您的字符串由不同的分隔符分隔,只需替换','带其他符号。

现在让我们查询需要拆分的字符串的函数:

结果:

使用SQLSCRIPT内置库(SAP HANA版本为2.0 SP03或更高版本时推荐)

SAP HANA版本2.0 SP03提供了SQLSCRIPT库的新增强功能–SQLSCRIPT\u字符串。此库中的函数支持将字符串拆分为多行的简单方法。另外,开发者可以更灵活地定义拆分规则。

您有逗号分隔的字符串

您想显示为多行。

使用以下代码:

I.显式声明SQLSCRIPT\u string library的用法。为库分配别名(在本例中,别名的名称为"library",但你可以指定任何其他名称)

二。显式声明输出表

三、使用拆分表功能。将其与在点I中指定的别名组合。作为SPLIT\ TO\ TABLE函数的输入,使用要拆分的字符串,在逗号之后定义分隔符(在本例中,逗号是分隔符)。最后,您需要将该函数的输出赋给第二点

第四点中定义的表变量。查询表变量

运行后,查询字符串将被拆分为多行:

结果:

有一个组合了名字和姓氏的字符串,联通物联网,电话和地址:

您要将此字符串拆分为三个值:全名、电话、地址。

使用以下代码:

结果:

这里我使用了第三个可选参数(MAXSPLIT),可用于将\u拆分为\u表,赋值为2。这样,免费的数据分析软件,我将限制拆分仅出现前两个逗号(不考虑后续逗号)。

除了定义拆分分隔符外,还可以指定拆分的最大数目。函数获取第一个n个分隔符出现次数,剩余部分显示在最后一行。正如您在示例中的字符串中看到的,有4个逗号,因此如果不指定此参数,则在输出中将有5行。

有一个组合了数字、日期和时间的字符串。它由#,软件企业的认定,日期,时间字符串分隔:

您想将此字符串拆分为三个字符串:数字,日期,时间。

使用以下代码:

输出:

这里我使用函数split_REGEXPR_to_TABLE。它可以与正则表达式相结合,这为用户定义用于拆分字符串的逻辑提供了更多选项。示例中的正则表达式在每次出现#符号或大写字母字符串后拆分字符串。

摘要

SAP HANA SPS 02引入了内置库,为SQL开发人员提供了新的函数。在sps03中,添加了新的library SQLSCRIPT\u STRING,大数据市场,其中包含用于处理字符串的多个函数。如果您想了解有关SQLSCRIPT\u字符串库的更多信息,请查看SAP提供的SQLSCRIPT参考。

如果您的系统运行在旧版本的SAP HANA上,大数据问题,作为解决方法,您可以按照帖子中的描述开发自定义函数。