第八十八章 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
参数
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
|