文章
姚 鑫 · 三月 21 阅读大约需 3 分钟

第八十八章 SQL函数 $LISTTOSTRING

第八十八章 SQL函数 $LISTTOSTRING

从列表创建字符串的列表函数。

大纲

$LISTTOSTRING(list[,delimiter])

参数

  • list - 计算结果为有效列表的表达式。列表是包含一个或多个元素的编码字符串。可以使用 SQL 或 ObjectScript 的 $LISTBUILD$LISTFROMSTRING 函数创建列表。可以使用 SQL 或 ObjectScript $LIST 函数从现有列表中提取列表。
  • delimiter - 可选 — 插入以分隔子字符串的分隔符。分隔符可以是一个或多个字符,指定为带引号的字符串。要连接不带分隔符的子字符串,请指定空字符串 ('')。如果不指定分隔符,则默认为逗号 (,) 字符。

描述

$LISTTOSTRING 采用 列表并将其转换为字符串。在结果字符串中,列表的元素由分隔符分隔。

列表以不使用分隔符的编码格式表示数据。因此,列表可以包含所有可能的字符,并且非常适合位串数据。 $LISTTOSTRING 将此列表转换为带有分隔元素的字符串。它留出一个指定的字符(或字符串)作为分隔符。可以使用 $PIECE 函数处理这些分隔元素。

注意:此处指定的分隔符不得出现在源数据中。 不区分用作分隔符的字符和用作数据字符的相同字符。

可以使用 $LISTTOSTRING 从串行容器字段中检索字段值作为分隔字符串。在以下示例中,Home 是一个串行容器字段。它包含列表元素 Home_StreetHome_CityHome_StateHome_Zip

SELECT Name,$LISTTOSTRING(Home,'^') AS HomeAddress
FROM Sample.Person

参数

list

包含一个或多个元素的编码字符串。可以使用 SQL $LISTBUILD 函数或 ObjectScript $LISTBUILD 函数创建列表。可以使用 SQL $LISTFROMSTRING 函数或 ObjectScript $LISTFROMSTRING 函数将分隔字符串转换为列表。可以使用 SQL $LIST 函数或 ObjectScript $LIST 函数从现有列表中提取列表。

如果列表参数中的表达式未计算为有效列表,则会发生 SQLCODE -400 错误。

delimiter

用于在输出字符串中分隔子字符串的字符(或字符串)。它可以是数字或字符串文字(用单引号括起来)、主变量或计算结果为字符串的表达式。

通常,定界符是在字符串数据中从不使用的指定字符,但仅用作分隔子字符串的定界符。定界符也可以是多字符串,其中的各个字符可以在字符串数据中使用。

如果不指定分隔符,则默认分隔符是逗号 (,) 字符。您可以指定一个空字符串 ('')作为分隔符;在这种情况下,子字符串连接起来没有分隔符。要将单引号字符指定为分隔符,请复制引号字符: '''' — 四个单引号字符。

示例

以下示例将列表字段的值转换为字符串,其中元素由冒号 (:) 字符分隔:

SELECT
Name,
FavoriteColors AS ColorList,
$LISTTOSTRING(FavoriteColors,':') AS ColorStrings
FROM Sample.Person
WHERE FavoriteColors IS NOT NULL
0
0 18
讨论 (0)1
登录或注册以继续