strsort(X;Y;U;D)
Returns the characters, or the elements delimited by a particular value, of a given string sorted in ascending or descending order.
Syntax
strsort(X;Y;U;D)
bstrsort(X;Y;U;D)
Input
| Argument | Type | Description |
|---|---|---|
X |
text | The string on which to apply the function A scalar value or the name of a column |
Y |
text | The character or string to be used as the delimiter in XA scalar value or the name of a column |
U |
integer | Specifies whether to only include unique values in the result If
If
If |
D |
integer | Specifies the order of the sort If
If If |
Return Value
If Y is empty, this function returns the text value corresponding to the
characters of X in sorted order. If
D=1, the characters are sorted in ascending order;
if D=-1, the characters are sorted in descending
order. If U=0, all characters are returned;
otherwise, only one of each character appears in the result.
If Y is non-empty, then it splits X using
Y as a delimiter and returns a delimited list of the elements sorted up
or down according to D. Again, duplicate elements are removed if
U is not 0.
If X is N/A, then the result is N/A.
If Y is N/A, then the characters of X are sorted.
Sample Usage
value |
string2 |
unique |
order |
strsort(value;string2;unique;order) |
|---|---|---|---|---|
| 'apple' | '' | 0 | 1 | 'aelpp' |
| 'apple' | '' | 1 | -1 | 'plea' |
| 'apple,pear,cherimoya' | ',' | 0 | -1 | 'pear,cherimoya,apple' |
| 'apple--pear--apple--peach--pear--banana' | '--' | 1 | 1 | 'apple--banana--peach--pear' |
Additional Information
strsortis Unicode (UTF-8) compliant and will work with Unicode or plain ASCII text fields.- If passed a string argument that is not legal Unicode, it will by default signal an error (configurable as a user preference).
- A corresponding function
bstrsortcan be used with non-Unicode strings (e.g., binary or legacy encodings). - Unicode code-point order (which does not correspond to the lexicographic order used in any particular language) is used for sorting.
