Dela via


Funktionen split_part

Gäller för: markerad ja Databricks SQL markerad ja Databricks Runtime 11.3 LTS och senare

str Delar runt förekomster av delim och returnerar partNum delen.

Syntax

split_part(str, delim, partNum)

Argument

  • str: Ett STRING uttryck som ska delas.
  • delimiter: Ett STRING uttryck som fungerar som avgränsare för delarna.
  • partNum: Ett INTEGER uttryck som väljer den del som ska returneras.

Returer

En STRING.

If partNum>= 1: S-delen partNumsom räknas från början av str returneras.

If partNum<= -1: S-delen abs(partNum)som räknas från slutet av str returneras.

Om partNum är längre än antalet delar i str: Funktionen returnerar en tom sträng.

Om partNum är 0: split_part genererar en INVALID_INDEX_OF_ZERO.

Exempel

> SELECT '->' || split_part('Hello,world,!', ',', 1) || '<-';
  ->Hello<-

> SELECT '->' || split_part('Hello,world,!', ',', 2) || '<-';
  ->world<-

> SELECT '->' || split_part('Hello,world,!', ',', 100) || '<-';
  -><-

> SELECT '->' || split_part('Hello,world,!', ',', -2) || '<-';
  ->world<-

> SELECT '->' || split_part('Hello,world,!', ',', -100) || '<-';
  -><-

> SELECT '->' || split_part('', ',', 1) || '<-';
  -><-

> SELECT '->' || split_part('Hello', '', 3) || '<-';
  -><-

> SELECT '->' || split_part('Hello,World,!', ',', 0) || '<-';
  ERROR: INVALID_INDEX_OF_ZERO

> SELECT split_part('5A6B7' COLLATE UTF8_BINARY, 'a', 1);
  5A6B7

> SELECT split_part('5A6B7' COLLATE UTF8_LCASE, 'a', 1);
  5