文章目录


第八十八章 SQL函数 $LISTTOSTRING

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

大纲

$LISTTOSTRING(list[,delimiter])

参数

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

描述

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

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

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

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

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

第八十八章 SQL函数 $LISTTOSTRING_数据库

参数

list

包含一个或多个元素的编码字符串。可以使用 SQL ​​$LISTBUILD​​​ 函数或 ObjectScript ​​$LISTBUILD​​​ 函数创建列表。可以使用 SQL ​​$LISTFROMSTRING​​​ 函数或 ObjectScript ​​$LISTFROMSTRING​​ 函数将分隔字符串转换为列表。可以使用 SQL L I S T 函 数 或 O b j e c t S c r i p t ‘ LIST 函数或 ObjectScript ` LIST函数或ObjectScript‘LIST` 函数从现有列表中提取列表。

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

delimiter

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

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

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

示例

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

SELECT
Name,
FavoriteColors AS ColorList,
$LISTTOSTRING(FavoriteColors,':') AS ColorStrings
FROM Sample.Person
WHERE FavoriteColors IS NOT NULL

第八十八章 SQL函数 $LISTTOSTRING_database_02