Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Función
Se aplica a:
Databricks SQL
Databricks Runtime
Divide str en torno a las repeticiones que coinciden con regex y devuelve una matriz con una longitud máxima de limit.
Sintaxis
split(str, regex [, limit] )
Argumentos
-
str: expresiónSTRINGque se va a dividir. -
regexpSTRING: expresión que es una expresión regular que dividestr. Consulte Expresiones regulares para obtener la sintaxis admitida. -
limit: expresión opcionalINTEGERque tiene como valor predeterminado 0 (sin límite).
Devoluciones
Un valor de tipo ARRAY<STRING>.
Si limit> es 0: la longitud de la matriz resultante no será mayor que limity la última entrada de la matriz resultante contendrá toda la entrada más allá de la última coincidencia regex.
Si limit< = 0: regex se aplicará tantas veces como sea posible, y la matriz resultante podrá ser de cualquier tamaño.
Ejemplos
Dividir en un conjunto de caracteres delimitadores
La clase [ABC] de caracteres coincide con cualquiera de A, Bo C como delimitador. El elemento vacío final procede del delimitador al final de la cadena.
> SELECT split('oneAtwoBthreeC', '[ABC]');
[one,two,three,]
Dividir una cadena separada por comas
> SELECT split('apple,banana,cherry', ',');
[apple,banana,cherry]
Dividir en uno o varios caracteres de espacio en blanco
Use \s+ para que una ejecución de espacios o pestañas actúe como un único delimitador.
> SELECT split('the quick brown', r'\s+');
[the,quick,brown]
Limitar el número de elementos
Cuando limit es mayor que 0, el elemento final contiene el resto de la cadena.
> SELECT split('oneAtwoBthreeC', '[ABC]', 2);
[one,twoBthreeC]
> SELECT split('oneAtwoBthreeC', '[ABC]', -1);
[one,two,three,]
La intercalación afecta a la coincidencia
El patrón [abc] en minúsculas coincide con los delimitadores en mayúsculas solo en una intercalación que no distingue mayúsculas de minúsculas.
> SELECT split('oneAtwoBthreeC' COLLATE UTF8_BINARY, '[abc]');
[oneAtwoBthreeC]
> SELECT split('oneAtwoBthreeC' COLLATE UTF8_LCASE, '[abc]');
[one,two,three,]