← Cloudflare Pipelines / pipelines / sql-reference / scalar-functions
Řetězcové funkce
Implementace skalárních funkcí Cloudflare Pipelines vychází z Apache DataFusion ↗ (přes Arroyo ↗) a tato dokumentace vychází z referenční dokumentace funkcí DataFusion.
ascii
Vrátí ASCII hodnotu prvního znaku v řetězci.
ascii(str)Argumenty
- str: Řetězcový výraz, se kterým se pracuje. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
Související funkce: chr
bit_length
Vrátí bitovou délku řetězce.
bit_length(str)Argumenty
- str: Řetězcový výraz, se kterým se pracuje. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
Související funkce: délka, octet_length
btrim
Odstraní zadaný řetězec ze začátku i konce řetězce. Pokud není zadán žádný řetězec k odstranění, ze začátku i konce vstupního řetězce se odstraní veškeré bílé znaky.
btrim(str[, trim_str])Argumenty
- str: Řetězcový výraz, se kterým se pracuje. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
- trim_str: Řetězcový výraz, který se má odstranit ze začátku a konce vstupního řetězce. Může to být konstanta, sloupec nebo funkce a libovolná kombinace aritmetických operátorů. Výchozí hodnotou jsou bílé znaky.
Související funkce: ltrim, rtrim
Aliasy
- trim
char_length
Alias pro délka.
character_length
Alias pro délka.
concat
Spojí více řetězců dohromady.
concat(str[, ..., str_n])Argumenty
- str: Řetězcový výraz, který se má zřetězit. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
- str_n: Další řetězcový sloupec nebo řetězcový literál, který se má zřetězit.
Související funkce: concat_ws
concat_ws
Spojí více řetězců pomocí zadaného oddělovače.
concat(separator, str[, ..., str_n])Argumenty
- separator: Oddělovač, který se vloží mezi zřetězené řetězce.
- str: Řetězcový výraz, který se má zřetězit. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
- str_n: Další řetězcový sloupec nebo řetězcový literál, který se má zřetězit.
Související funkce: concat
chr
Vrátí znak odpovídající zadané hodnotě kódu ASCII nebo Unicode.
chr(expression)Argumenty
- výraz: Výraz obsahující kód ASCII nebo Unicode, se kterým se pracuje. Může to být konstanta, sloupec nebo funkce a libovolná kombinace aritmetických nebo řetězcových operátorů.
Související funkce: ascii
ends_with
Otestuje, zda řetězec končí zadaným podřetězcem.
ends_with(str, substr)Argumenty
- str: Řetězcový výraz, který se má otestovat. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
- substr: Podřetězec, na který se má testovat.
initcap
Převede první znak každého slova ve vstupním řetězci na velké písmeno. Slova jsou oddělena nealfanumerickými znaky.
initcap(str)Argumenty
- str: Řetězcový výraz, se kterým se pracuje. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
Související funkce: lower, upper
instr
Alias pro strpos.
Argumenty
- str: Řetězcový výraz, se kterým se pracuje. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
- substr: Výraz podřetězce, který se má hledat. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
left
Vrátí zadaný počet znaků zleva z řetězce.
left(str, n)Argumenty
- str: Řetězcový výraz, se kterým se pracuje. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
- n: Počet znaků, které se mají vrátit.
Související funkce: right
length
Vrátí počet znaků v řetězci.
length(str)Argumenty
- str: Řetězcový výraz, se kterým se pracuje. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
Aliasy
- char_length
- character_length
Související funkce: bit_length, octet_length
lower
Převede řetězec na malá písmena.
lower(str)Argumenty
- str: Řetězcový výraz, se kterým se pracuje. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
Související funkce: initcap, upper
lpad
Zleva doplní řetězec jiným řetězcem na zadanou délku.
lpad(str, n[, padding_str])Argumenty
- str: Řetězcový výraz, se kterým se pracuje. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
- n: Délka řetězce, na kterou se má doplnit.
- padding_str: Řetězcový výraz, kterým se má doplnit. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů. Výchozí hodnota je mezera.
Související funkce: rpad
ltrim
Odstraní zadaný řetězec ze začátku řetězce. Pokud není zadán žádný řetězec k odstranění, ze začátku vstupního řetězce se odstraní veškeré bílé znaky.
ltrim(str[, trim_str])Argumenty
- str: Řetězcový výraz, se kterým se pracuje. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
- trim_str: Řetězcový výraz, který se má odstranit ze začátku vstupního řetězce. Může to být konstanta, sloupec nebo funkce a libovolná kombinace aritmetických operátorů. Výchozí hodnotou jsou bílé znaky.
Související funkce: btrim, rtrim
octet_length
Vrátí délku řetězce v bajtech.
octet_length(str)Argumenty
- str: Řetězcový výraz, se kterým se pracuje. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
Související funkce: bit_length, délka
repeat
Vrátí řetězec vzniklý zopakováním vstupního řetězce zadaný počet krát.
repeat(str, n)Argumenty
- str: Řetězcový výraz, který se má opakovat. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
- n: Počet opakování vstupního řetězce.
replace
Nahradí všechny výskyty zadaného podřetězce v řetězci novým podřetězcem.
replace(str, substr, replacement)Argumenty
- str: Řetězcový výraz, který se má opakovat. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
- substr: Výraz podřetězce, který se má ve vstupním řetězci nahradit. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
- replacement: Nahrazující výraz podřetězce. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
reverse
Obrátí pořadí znaků v řetězci.
reverse(str)Argumenty
- str: Řetězcový výraz, který se má opakovat. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
right
Vrátí zadaný počet znaků zprava z řetězce.
right(str, n)Argumenty
- str: Řetězcový výraz, se kterým se pracuje. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
- n: Počet znaků, které se mají vrátit.
Související funkce: left
rpad
Zprava doplní řetězec jiným řetězcem na zadanou délku.
rpad(str, n[, padding_str])Argumenty
- str: Řetězcový výraz, se kterým se pracuje. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
- n: Délka řetězce, na kterou se má doplnit.
- padding_str: Řetězcový výraz, kterým se má doplnit. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů. Výchozí hodnota je mezera.
Související funkce: lpad
rtrim
Odstraní zadaný řetězec z konce řetězce. Pokud není zadán žádný řetězec k odstranění, z konce vstupního řetězce se odstraní veškeré bílé znaky.
rtrim(str[, trim_str])Argumenty
- str: Řetězcový výraz, se kterým se pracuje. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
- trim_str: Řetězcový výraz, který se má odstranit z konce vstupního řetězce. Může to být konstanta, sloupec nebo funkce a libovolná kombinace aritmetických operátorů. Výchozí hodnotou jsou bílé znaky.
Související funkce: btrim, ltrim
split_part
Rozdělí řetězec podle zadaného oddělovače a vrátí podřetězec na zadané pozici.
split_part(str, delimiter, pos)Argumenty
- str: Řetězcový výraz, který se má rozdělit. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
- delimiter: Řetězec nebo znak, podle kterého se má rozdělit.
- pos: Pozice části, která se má vrátit.
starts_with
Otestuje, zda řetězec začíná zadaným podřetězcem.
starts_with(str, substr)Argumenty
- str: Řetězcový výraz, který se má otestovat. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
- substr: Podřetězec, na který se má testovat.
strpos
Vrátí počáteční pozici zadaného podřetězce v řetězci. Pozice začínají od 1. Pokud se podřetězec v řetězci nevyskytuje, funkce vrátí 0.
strpos(str, substr)Argumenty
- str: Řetězcový výraz, se kterým se pracuje. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
- substr: Výraz podřetězce, který se má hledat. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
Aliasy
- instr
substr
Extrahuje podřetězec o zadaném počtu znaků od určené počáteční pozice v řetězci.
substr(str, start_pos[, length])Argumenty
- str: Řetězcový výraz, se kterým se pracuje. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
- start_pos: Pozice znaku, od které se má podřetězec začít. První znak v řetězci má pozici 1.
- délka: Počet znaků, které se mají extrahovat. Pokud není zadán, vrátí se zbytek řetězce za počáteční pozicí.
translate
Nahradí znaky v řetězci zadanými náhradními znaky.
translate(str, chars, translation)- str: Řetězcový výraz, se kterým se pracuje. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
- chars: Znaky k překladu.
- překlad: Znaky pro překlad. Znaky pro překlad nahrazují pouze znaky na stejné pozici v chars řetězec.
to_hex
Převede celé číslo na šestnáctkový řetězec.
to_hex(int)Argumenty
- int: Celočíselný výraz, který se má převést. Může to být konstanta, sloupec nebo funkce a libovolná kombinace aritmetických operátorů.
trim
Alias pro btrim.
upper
Převede řetězec na velká písmena.
upper(str)Argumenty
- str: Řetězcový výraz, se kterým se pracuje. Může to být konstanta, sloupec nebo funkce a libovolná kombinace řetězcových operátorů.
Související funkce: initcap, lower
uuid
Vrátí řetězcovou hodnotu UUID v4, která je jedinečná pro každý řádek.
uuid()overlay
Vrátí řetězec, ve kterém je od zadané pozice a v zadané délce nahrazena část jiným řetězcem.
Například overlay('Txxxxas' placing 'hom' from 2 for 4) → Thomas
overlay(str PLACING substr FROM pos [FOR count])Argumenty
- str: Řetězcový výraz, se kterým se pracuje.
- substr: řetězec, kterým se nahradí část str.
- pos: počáteční pozice, od které se má v str nahradit.
- count: počet znaků, které se mají nahradit od počáteční pozice str. Pokud není zadán, použije se místo toho délka substr.
levenshtein
Vrátí Levenshteinovu vzdálenost mezi dvěma zadanými řetězci.
Například levenshtein('kitten', 'sitting') = 3
levenshtein(str1, str2)Argumenty
- str1: Řetězcový výraz, se kterým se vypočítá Levenshteinova vzdálenost od str2.
- str2: Řetězcový výraz, se kterým se vypočítá Levenshteinova vzdálenost od str1.
substr_index
Vrátí podřetězec z str před count výskyty oddělovače delim.
Pokud je count kladné, vrátí se vše nalevo od posledního oddělovače (počítáno zleva).
Pokud je count záporné, vrátí se vše napravo od posledního oddělovače (počítáno zprava).
Například substr_index('www.apache.org', '.', 1) = www, substr_index('www.apache.org', '.', -1) = org
substr_index(str, delim, count)Argumenty
- str: Řetězcový výraz, se kterým se pracuje.
- delim: řetězec, který se má v str najít pro jeho rozdělení.
- count: Počet, kolikrát se má hledat oddělovač. Může to být kladné i záporné číslo.
find_in_set
Vrátí hodnotu v rozsahu 1 až N, pokud je řetězec str obsažen v seznamu řetězců strlist skládajícím se z N podřetězců.
Například find_in_set('b', 'a,b,c,d') = 2
find_in_set(str, strlist)Argumenty
- str: Řetězcový výraz, který se má najít ve strlist.
- strlist: Seznam řetězců je řetězec složený z podřetězců oddělených znakem ,.