Apache Presto - Функции SQL
На данный момент мы обсуждали выполнение некоторых простых базовых запросов в Presto. В этой главе будут обсуждаться важные функции SQL.
Математические функции
Математические функции работают с математическими формулами. В следующей таблице подробно описан список функций.
| S.No. | Описание функции |
|---|---|
| 1. | абс (х) Возвращает абсолютное значение x |
| 2. | cbrt (x) Возвращает кубический корень из x |
| 3. | потолок (x) Возвращает x значение округлено до ближайшего целого числа |
| 4. | ceil(x) Псевдоним для потолка (x) |
| 5. | градусы (х) Возвращает значение градуса для x |
| 6. | е (х) Возвращает двойное значение числа Эйлера. |
| 7. | exp(x) Возвращает значение экспоненты для числа Эйлера. |
| 8. | этаж (x) Возврат x округлено до ближайшего целого числа |
| 9. | from_base(string,radix) Возвращает значение строки, интерпретируемой как число с основанием системы счисления. |
| 10. | ln(x) Возвращает натуральный логарифм от. x |
| 11. | log2 (х) Возвращает логарифм числа по основанию 2. x |
| 12. | log10(x) Возвращает десятичный логарифм числа. x |
| 13. | log(x,y) Возвращает базу y логарифм x |
| 14. | мод (п, м) Возвращает модуль (остаток) от n деленное на m |
| 15. | pi() Возвращает значение пи. Результат будет возвращен как двойное значение |
| 16. | мощность (x, p) Возвращает силу ценности ‘p’ к x значение |
| 17. | pow(x,p) Псевдоним власти (x, p) |
| 18. | радианы (х) преобразует угол x в градусах радиан |
| 19. | rand() Псевдоним для радианов () |
| 20. | случайный () Возвращает псевдослучайное значение. |
| 21. | rand(n) Псевдоним для random () |
| 22. | круглый (х) Возвращает округленное значение x. |
| 23. | round(x,d) x значение округлено для ‘d’ десятичные знаки |
| 24. | sign(x) Возвращает сигнум-функцию x, т. Е. 0, если аргумент 0 1, если аргумент больше 0 -1, если аргумент меньше 0 Для двойных аргументов функция дополнительно возвращает - NaN, если аргумент - NaN 1, если аргумент равен + Infinity -1, если аргумент -Infinity |
| 25. | sqrt (х) Возвращает квадратный корень из x |
| 26. | to_base (x, основание системы счисления) Тип возврата - лучник. Результат возвращается как основание системы счисления дляx |
| 27. | усечь (х) Усекает значение для x |
| 28. | width_bucket (х, граница1, граница2, п) Возвращает номер ячейки x указанные границы bound1 и bound2 и n количество сегментов |
| 29. | width_bucket (x, ячейки) Возвращает номер ячейки x в соответствии с ячейками, указанными ячейками массива |
Тригонометрические функции
Аргументы тригонометрических функций представлены в радианах (). В следующей таблице перечислены функции.
| S.No | Функции и описание |
|---|---|
| 1. | acos (x) Возвращает значение обратного косинуса (x). |
| 2. | asin(x) Возвращает значение обратного синуса (x). |
| 3. | atan(x) Возвращает значение арктангенса (x). |
| 4. | atan2 (у, х) Возвращает значение арктангенса (y / x). |
| 5. | cos(x) Возвращает значение косинуса (x). |
| 6. | cosh (x) Возвращает значение гиперболического косинуса (x). |
| 7. | грех (х) Возвращает значение синуса (x). |
| 8. | tan(x) Возвращает значение тангенса (x). |
| 9. | tanh(x) Возвращает значение гиперболического тангенса (x). |
Побитовые функции
В следующей таблице перечислены побитовые функции.
| S.No | Функции и описание |
|---|---|
| 1. | bit_count (x, биты) Подсчитайте количество бит |
| 2. | побитовое_и (х, у) Выполните побитовую операцию И для двух битов, x и y |
| 3. | побитовое_или (х, у) Побитовая операция ИЛИ между двумя битами x, y |
| 4. | bitwise_not (х) Побитовая операция Not для бита x |
| 5. | bitwise_xor (х, у) Операция XOR для битов x, y |
Строковые функции
В следующей таблице перечислены строковые функции.
| S.No | Функции и описание |
|---|---|
| 1. | concat (строка1, ..., строкаN) Объединить заданные строки |
| 2. | длина (строка) Возвращает длину заданной строки |
| 3. | нижний (строка) Возвращает строчный формат строки |
| 4. | верхний (строка) Возвращает формат в верхнем регистре для данной строки |
| 5. | lpad (строка, размер, padstring) Левый отступ для данной строки |
| 6. | ltrim (строка) Удаляет начальный пробел из строки |
| 7. | replace (строка, поиск, замена) Заменяет строковое значение |
| 8. | обратный (строка) Отменяет операцию, выполненную для строки |
| 9. | rpad (строка, размер, строка заполнения) Правый отступ для данной строки |
| 10. | rtrim (строка) Удаляет завершающий пробел из строки |
| 11. | split (строка, разделитель) Разбивает строку по разделителю и возвращает массив максимального размера. |
| 12. | split_part (строка, разделитель, индекс) Разделяет строку по разделителю и возвращает индекс поля |
| 13. | strpos (строка, подстрока) Возвращает начальную позицию подстроки в строке |
| 14. | substr (строка; начало) Возвращает подстроку для данной строки |
| 15. | substr (строка, начало, длина) Возвращает подстроку для заданной строки с определенной длиной |
| 16. | обрезать (строка) Удаляет начальные и конечные пробелы из строки |
Функции даты и времени
В следующей таблице перечислены функции даты и времени.
| S.No | Функции и описание |
|---|---|
| 1. | текущая дата Возвращает текущую дату |
| 2. | Текущее время Возвращает текущее время |
| 3. | current_timestamp Возвращает текущую отметку времени |
| 4. | current_timezone () Возвращает текущий часовой пояс |
| 5. | в настоящее время() Возвращает текущую дату, отметку времени с часовым поясом |
| 6. | местное время Возвращает местное время |
| 7. | местная отметка времени Возвращает местную метку времени |
Функции регулярных выражений
В следующей таблице перечислены функции регулярных выражений.
| S.No | Функции и описание |
|---|---|
| 1. | regexp_extract_all (строка, шаблон) Возвращает строку, соответствующую регулярному выражению для шаблона. |
| 2. | regexp_extract_all (строка, шаблон, группа) Возвращает строку, соответствующую регулярному выражению для шаблона и группы. |
| 3. | regexp_extract (строка, шаблон) Возвращает первую подстроку, совпадающую с регулярным выражением для шаблона. |
| 4. | regexp_extract (строка, шаблон, группа) Возвращает первую подстроку, совпадающую с регулярным выражением для шаблона и группы. |
| 5. | regexp_like (строка, шаблон) Возвращает строку, совпадающую с шаблоном. Если строка возвращается, значение будет true, иначе false |
| 6. | regexp_replace (строка, шаблон) Заменяет экземпляр строки, соответствующей выражению, шаблоном |
| 7. | regexp_replace (строка, шаблон, замена) Замените экземпляр строки, соответствующей выражению, шаблоном и заменой |
| 8. | regexp_split (строка, шаблон) Разделяет регулярное выражение для данного шаблона |
Функции JSON
В следующей таблице перечислены функции JSON.
| S.No | Функции и описание |
|---|---|
| 1. | json_array_contains (json, значение) Убедитесь, что значение существует в массиве json. Если значение существует, оно вернет истину, в противном случае - ложь. |
| 2. | json_array_get (json_array, индекс) Получить элемент для индекса в массиве json |
| 3. | json_array_length (json) Возвращает длину в массиве json. |
| 4. | json_format (json) Возвращает формат структуры json |
| 5. | json_parse (строка) Разбирает строку как json |
| 6. | json_size (json, json_path) Возвращает размер значения |
Функции URL
В следующей таблице перечислены функции URL.
| S.No | Функции и описание |
|---|---|
| 1. | url_extract_host (URL) Возвращает хост URL |
| 2. | url_extract_path (URL) Возвращает путь URL |
| 3. | url_extract_port (URL) Возвращает порт URL |
| 4. | url_extract_protocol (URL) Возвращает протокол URL |
| 5. | url_extract_query (URL) Возвращает строку запроса URL |
Агрегатные функции
В следующей таблице перечислены агрегатные функции.
| S.No | Функции и описание |
|---|---|
| 1. | avg(x) Возвращает среднее значение для заданного значения. |
| 2. | мин (х, п) Возвращает минимальное значение из двух значений. |
| 3. | макс (х, п) Возвращает максимальное значение из двух значений. |
| 4. | сумма (х) Возвращает сумму стоимости. |
| 5. | количество (*) Возвращает количество входных строк. |
| 6. | счет (х) Возвращает количество входных значений. |
| 7. | контрольная сумма (x) Возвращает контрольную сумму для x |
| 8. | произвольно (x) Возвращает произвольное значение для x |
Цветовые функции
В следующей таблице перечислены функции цвета.
| S.No | Функции и описание |
|---|---|
| 1. | бар (x, ширина) Визуализирует одну полосу с использованием rgb low_color и high_color |
| 2. | bar (x, width, low_color, high_color) Отображает одну полосу указанной ширины |
| 3. | цвет (строка) Возвращает значение цвета для введенной строки |
| 4. | render (x, цвет) Отображает значение x с использованием определенного цвета с использованием цветовых кодов ANSI |
| 5. | визуализация (б) Принимает логическое значение b и отображает зеленый цвет истинным или красным ложным с использованием цветовых кодов ANSI. |
| 6. | rgb(red, green, blue) Возвращает значение цвета, захватывающее значение RGB трех компонентных значений цвета, предоставленных как параметры int в диапазоне от 0 до 255 |
Функции для работы с массивами
В следующей таблице перечислены функции массива.
| S.No | Функции и описание |
|---|---|
| 1. | array_max (x) Находит максимальный элемент в массиве |
| 2. | array_min (x) Находит минимальный элемент в массиве |
| 3. | array_sort (x) Сортирует элементы в массиве |
| 4. | array_remove (x, элемент) Удаляет определенный элемент из массива |
| 5. | concat (х, у) Объединяет два массива |
| 6. | содержит (x, элемент) Находит заданные элементы в массиве. Истина будет возвращена, если она присутствует, в противном случае - ложь |
| 7. | array_position (x, элемент) Найдите позицию данного элемента в массиве |
| 8. | array_intersect (x, y) Выполняет пересечение двух массивов |
| 9. | element_at (массив, индекс) Возвращает позицию элемента массива |
| 10. | срез (x, начало, длина) Нарезает элементы массива определенной длины |
Функции Teradata
В следующей таблице перечислены функции Teradata.
| S.No | Функции и описание |
|---|---|
| 1. | индекс (строка, подстрока) Возвращает индекс строки с заданной подстрокой |
| 2. | подстрока (строка, начало) Возвращает подстроку заданной строки. Здесь вы можете указать начальный индекс |
| 3. | подстрока (строка, начало, длина) Возвращает подстроку данной строки для определенного начального индекса и длины строки. |