← Аналитика / analytics / analytics-engine / sql-reference
Строковые функции
длина
Использование:
length({string})Возвращает длину строки. Эта функция совместима с UTF-8.
Примеры:
SELECT length('a string') AS s;
SELECT length(blob1) AS s FROM your_dataset;Для обратной совместимости эта функция эквивалентна функции ClickHouse lengthUTF8 функцию, а не функцию ClickHouse length функцию.
пусто
Использование:
empty({string})Возвращает булево значение, показывающее, была ли строка пустой. Эту операцию можно также выполнить как бинарную: {string} = ''.
Примеры:
SELECT empty('a string') AS b;
SELECT empty(blob1) AS b FROM your_dataset;Для обратной совместимости эту функцию можно также вызвать с помощью empty(<string>).
lower
Использование:
lower({string})Возвращает строку, преобразованную в нижний регистр. Эта функция НЕ совместима с Unicode, см. lowerUTF8 для этого.
Примеры:
SELECT lower('STRING TO DOWNCASE') AS s;
SELECT lower(blob1) AS s FROM your_dataset;lowerUTF8 Новое
Использование:
lowerUTF8({string})Возвращает строку, преобразованную в нижний регистр. Эта функция совместима с Unicode. Результат может быть неидеальным для некоторых языков, поэтому пользователям со строгими требованиями следует выполнять эту операцию в собственном коде.
Примеры:
SELECT lowerUTF8('STRING TO DOWNCASE') AS s;
SELECT lowerUTF8(blob1) AS s FROM your_dataset;Для обратной совместимости эту функцию можно также вызвать с помощью toLower({string}).
upper
Использование:
upper({string})Возвращает строку, преобразованную в верхний регистр. Эта функция НЕ совместима с Unicode, см. upperUTF8 для этого.
Примеры:
SELECT upper('string to uppercase') AS s;
SELECT upper(blob1) AS s FROM your_dataset;upperUTF8 Новое
Использование:
upperUTF8({string})Возвращает строку, преобразованную в верхний регистр. Эта функция совместима с Unicode. Результаты могут быть неидеальными для некоторых языков, поэтому пользователям со строгими требованиями следует выполнять эту операцию в собственном коде.
Примеры:
SELECT upperUTF8('string to uppercase') AS s;
SELECT upperUTF8(blob1) AS s FROM your_dataset;Для обратной совместимости эту функцию можно также вызвать с помощью toUpper({string}).
startsWith
Использование:
startsWith({string}, {string})Возвращает булево значение, указывающее, начинается ли первая строка со второй строки.
Примеры:
SELECT startsWith('prefix ...', 'prefix') AS b;
SELECT startsWith(blob1, 'prefix') AS b FROM your_dataset;endsWith
Использование:
endsWith({string}, {string})Возвращает булево значение, указывающее, заканчивается ли первая строка второй строкой.
Примеры:
SELECT endsWith('prefix suffix', 'suffix') AS b;
SELECT endsWith(blob1, 'suffix') AS b FROM your_dataset;position
Использование:
position({needle:string} IN {haystack:string})Возвращает позицию одной строки, needle, в другом haystack. В SQL индексы обычно нумеруются с 1. Это значит, что функция position возвращает 1 , если искомая строка находится в начале исходной строки. Возвращается только 0 , если строка не найдена.
Примеры:
SELECT position(':' IN 'hello: world') AS p;
SELECT position(':' IN blob1) AS p FROM your_dataset;подстрока
Использование:
substring({string}, {offset:integer}[. {length:integer}])Извлекает часть строки, начиная с кодовой точки Unicode, указанной параметром offset, и возвращает количество кодовых точек, заданное параметром length. Как уже упоминалось, в SQL индексы обычно нумеруются с 1. Это означает, что значение offset, передаваемое в substring, должно быть не менее 1.
Примеры:
SELECT substring('hello world', 6) AS s;
SELECT substring('hello: world', 1, position(':' IN 'hello: world')-1) AS s;format
Использование:
format({string}[, ...])Эта функция поддерживает форматирование строк, целых чисел, чисел с плавающей точкой, дат и времени, интервалов и так далее, кроме NULL. Эта функция не поддерживает литерал { и } символов в строке формата.
Примеры:
SELECT format('blob1: {}', blob1) AS s FROM dataset;formatDateTime функция также может быть полезна.
extract
Использование:
extract(<time unit> from <datetime>)extract возвращает целое количество единиц времени из даты и времени. Поддерживает
YEAR, MONTH, DAY, HOUR, MINUTE и SECOND.
Примеры:
-- extract the number of seconds from a timestamp (returns 15 in this example)
extract(SECOND from toDateTime('2022-06-06 11:30:15'))