← Analytics / analytics / analytics-engine / sql-reference
Řetězcové funkce
délka
Použití:
length({string})Vrací délku řetězce. Tato funkce je kompatibilní s UTF-8.
Příklady:
SELECT length('a string') AS s;
SELECT length(blob1) AS s FROM your_dataset;Kvůli zpětné kompatibilitě je tato funkce ekvivalentní funkci v ClickHouse lengthUTF8 funkci, a ne funkci ClickHouse length .
empty
Použití:
empty({string})Vrací booleovskou hodnotu udávající, zda byl řetězec prázdný. Tento výpočet lze provést i jako binární operaci: {string} = ''.
Příklady:
SELECT empty('a string') AS b;
SELECT empty(blob1) AS b FROM your_dataset;Kvůli zpětné kompatibilitě lze tuto funkci volat také pomocí empty(<string>).
lower
Použití:
lower({string})Vrací řetězec převedený na malá písmena. Tato funkce NENÍ kompatibilní s Unicode, viz lowerUTF8 pro to.
Příklady:
SELECT lower('STRING TO DOWNCASE') AS s;
SELECT lower(blob1) AS s FROM your_dataset;lowerUTF8 New
Použití:
lowerUTF8({string})Vrací řetězec převedený na malá písmena. Tato funkce je kompatibilní s Unicode. Výsledek nemusí být dokonalý pro všechny jazyky, uživatelé s přísnějšími požadavky by měli tuto operaci provést ve vlastním kódu.
Příklady:
SELECT lowerUTF8('STRING TO DOWNCASE') AS s;
SELECT lowerUTF8(blob1) AS s FROM your_dataset;Kvůli zpětné kompatibilitě lze tuto funkci volat také pomocí toLower({string}).
upper
Použití:
upper({string})Vrací řetězec převedený na velká písmena. Tato funkce NENÍ kompatibilní s Unicode, viz upperUTF8 pro to.
Příklady:
SELECT upper('string to uppercase') AS s;
SELECT upper(blob1) AS s FROM your_dataset;upperUTF8 New
Použití:
upperUTF8({string})Vrací řetězec převedený na velká písmena. Tato funkce je kompatibilní s Unicode. Výsledky nemusí být dokonalé pro všechny jazyky, uživatelé s přísnými požadavky by měli tuto operaci provést ve vlastním kódu.
Příklady:
SELECT upperUTF8('string to uppercase') AS s;
SELECT upperUTF8(blob1) AS s FROM your_dataset;Kvůli zpětné kompatibilitě lze tuto funkci volat také pomocí toUpper({string}).
startsWith
Použití:
startsWith({string}, {string})Vrací booleovskou hodnotu podle toho, zda první řetězec na začátku obsahuje druhý řetězec.
Příklady:
SELECT startsWith('prefix ...', 'prefix') AS b;
SELECT startsWith(blob1, 'prefix') AS b FROM your_dataset;endsWith
Použití:
endsWith({string}, {string})Vrací booleovskou hodnotu podle toho, zda první řetězec na konci obsahuje druhý řetězec.
Příklady:
SELECT endsWith('prefix suffix', 'suffix') AS b;
SELECT endsWith(blob1, 'suffix') AS b FROM your_dataset;position
Použití:
position({needle:string} IN {haystack:string})Vrací pozici jednoho řetězce, needle, v jiné pak haystack. V SQL se indexy obvykle číslují od 1. To znamená, že position vrací 1 pokud se hledaný řetězec nachází na začátku prohledávaného řetězce. Vrací pouze 0 pokud řetězec nebyl nalezen.
Příklady:
SELECT position(':' IN 'hello: world') AS p;
SELECT position(':' IN blob1) AS p FROM your_dataset;podřetězec
Použití:
substring({string}, {offset:integer}[. {length:integer}])Extrahuje část řetězce počínaje bodem kódu Unicode určeným parametrem offset a vrací počet bodů kódu zadaný parametrem length. Jak již bylo zmíněno, indexy v SQL se obvykle číslují od 1. To znamená, že hodnota offset předaná funkci substring by měla být alespoň 1.
Příklady:
SELECT substring('hello world', 6) AS s;
SELECT substring('hello: world', 1, position(':' IN 'hello: world')-1) AS s;format
Použití:
format({string}[, ...])Tato funkce podporuje formátování řetězců, celých čísel, čísel s plovoucí desetinnou čárkou, dat a časů, intervalů atd., kromě NULL. Tato funkce nepodporuje literál { a } znaky ve formátovacím řetězci.
Příklady:
SELECT format('blob1: {}', blob1) AS s FROM dataset;formatDateTime funkce může být také užitečná.
extract
Použití:
extract(<time unit> from <datetime>)extract vrací celočíselný počet časových jednotek z data a času. Podporuje
YEAR, MONTH, DAY, HOUR, MINUTE a SECOND.
Příklady:
-- extract the number of seconds from a timestamp (returns 15 in this example)
extract(SECOND from toDateTime('2022-06-06 11:30:15'))