是否有任何功能在对以逗号分隔的列表值进行升序排序?还是有另一种方式呢?前-4,6,8,1输出-1,4,6,8
没有内置函数对定界列表进行排序。
对于有序的数据集,通常将使用带有索引的临时表来支持所需的顺序。
例如(假设整数值按整数顺序排序::
define temp-table numberList
field number as integer
index number-idx as primary number
.
create numberList.
numberList.number = 4.
create numberList.
numberList.number = 6.
create numberList.
numberList.number = 8.
create numberList.
numberList.number = 1.
for each numberList:
display number.
end.
如果出于某种原因迫切需要将列表包含在分隔的字符串中,则可以创建一个函数来从源列表构建临时表,然后将该TT转换为有序列表:
define temp-table numberList
field number as integer
index number-idx as primary number
.
function sortList returns character ( input csv as character ):
define variable n as integer no-undo.
define variable i as integer no-undo.
define variable s as character no-undo.
empty temp-table numberList.
n = num-entries( csv ).
do i = 1 to n:
create numberList.
numberList.number = integer( entry( i, csv )).
end.
for each numberList:
s = s + string( numberList.number ) + ",".
end.
return trim( s, "," ).
end.
display sortList( "4,6,8,1" ).