This function is used to split a specified string based on a specified separator and return a substring from the start to end position.
split_part(string <str>, string <separator>, bigint <start>[, bigint <end>])
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
str |
Yes |
STRING |
String to be split |
separator |
Yes |
STRING |
Constant of the STRING type. Separator used for splitting. The value can be a character or a string. |
start |
Yes |
STRING |
Constant of the BIGINT type. The value must be greater than 0. Start number of the returned part, starting from 1. |
end |
No |
BIGINT |
Constant of the BIGINT type. The value must be greater than or equal to the value of start. End number of the returned part and can be omitted. The default value indicates that the value is the same as that of start, and the part specified by start is returned. |
The return value is of the STRING type.
The value aa is returned.
select split_part('aa,bb,cc,dd', ',', 1);
The value aa,bb is returned.
select split_part('aa,bb,cc,dd', ',', 1, 2);
An empty string is returned.
select split_part('aa,bb,cc,dd', ',', 10);
The value aa,bb,cc,dd is returned.
select split_part('aa,bb,cc,dd', ':', 1);
An empty string is returned.
select split_part('aa,bb,cc,dd', ':', 2);
The value aa,bb,cc,dd is returned.
select split_part('aa,bb,cc,dd', '', 1);
The value bb,cc,dd is returned.
select split_part('aa,bb,cc,dd', ',', 2, 6);
The value NULL is returned.
select split_part('aa,bb,cc,dd', ',', null);