Apache Presto-SQL 함수

지금까지 Presto에서 몇 가지 간단한 기본 쿼리를 실행하는 것에 대해 논의하고있었습니다. 이 장에서는 중요한 SQL 함수에 대해 설명합니다.

수학 함수

수학 함수는 수학 공식에서 작동합니다. 다음 표는 기능 목록을 자세히 설명합니다.

S. 아니. 기능 및 설명
1. abs (x)

절대 값을 반환합니다. x

2. cbrt (x)

의 세제곱근을 반환합니다. x

삼. 천장 (x)

반환 x 가장 가까운 정수로 반올림 된 값

4.

ceil(x)

Ceiling (x)의 별칭

5. 도 (x)

다음에 대한 정도 값을 반환합니다. x

6. 전의)

오일러 수에 대한 double 값을 반환합니다.

7.

exp(x)

오일러 수에 대한 지수 값을 반환합니다.

8. 층 (x)

보고 x 가장 가까운 정수로 내림

9.

from_base(string,radix)

기본 기수로 해석 된 문자열 값을 반환합니다.

10.

ln(x)

자연 로그를 반환합니다. x

11. log2 (x)

밑이 2 인 로그를 반환합니다. x

12.

log10(x)

밑이 10 인 로그를 반환합니다. x

13.

log(x,y)

베이스를 반환합니다. y 대수 x

14. mod (n, m)

모듈러스 (나머지)를 반환합니다. n 로 나눈 m

15.

pi()

파이 값을 반환합니다. 결과는 이중 값으로 반환됩니다.

16. 힘 (x, p)

가치의 거듭 제곱을 반환합니다. ‘p’ ~로 x

17.

pow(x,p)

power (x, p)에 대한 별칭

18. 라디안 (x)

각도를 변환 x 라디안 단위

19.

rand()

라디안 ()에 대한 별칭

20. 랜덤 ()

의사 난수 값을 반환합니다.

21.

rand(n)

random ()에 대한 별칭

22. 원형 (x)

x에 대해 반올림 된 값을 반환합니다.

23.

round(x,d)

x 반올림 된 값 ‘d’ 소수점 이하 자릿수

24.

sign(x)

x의 signum 함수를 반환합니다.

인수가 0이면 0

인수가 0보다 큰 경우 1

인수가 0보다 작은 경우 -1

이중 인수의 경우 함수는 추가로-

인수가 NaN 인 경우 NaN

인수가 + Infinity 인 경우 1

인수가 -Infinity 인 경우 -1

25. sqrt (x)

제곱근을 반환합니다. x

26. to_base (x, radix)

반환 유형은 궁수입니다. 결과는 다음에 대한 기본 기수로 리턴됩니다.x

27. 자르기 (x)

값을 자릅니다. x

28. width_bucket (x, bound1, bound2, n)

빈 수를 반환합니다. x 지정된 bound1 및 bound2 경계 및 n 개의 버킷

29. width_bucket (x, bins)

빈 수를 반환합니다. x 배열 빈으로 지정된 빈에 따라

삼각 함수

삼각 함수 인수는 radians ()로 표시됩니다. 다음 표는 기능을 나열합니다.

S. 아니 기능 및 설명
1. acos (x)

역 코사인 값 (x)을 반환합니다.

2.

asin(x)

역 사인 값 (x)을 반환합니다.

삼.

atan(x)

역 탄젠트 값 (x)을 반환합니다.

4. atan2 (y, x)

역 탄젠트 값 (y / x)을 반환합니다.

5.

cos(x)

코사인 값 (x)을 반환합니다.

6. 코시 (x)

쌍곡 코사인 값 (x)을 반환합니다.

7. sin (x)

사인 값 (x)을 반환합니다.

8.

tan(x)

탄젠트 값 (x)을 반환합니다.

9.

tanh(x)

쌍곡 탄젠트 값 (x)을 반환합니다.

비트 함수

다음 표에는 Bitwise 함수가 나열되어 있습니다.

S. 아니 기능 및 설명
1. bit_count (x, 비트)

비트 수 계산

2. 비트 별 _and (x, y)

2 비트에 대해 비트 AND 연산을 수행합니다. xy

삼. 비트 단위 _ 또는 (x, y)

두 비트 간의 비트 OR 연산 x, y

4. bitwise_not (x)

비트에 대한 비트 Not 연산 x

5. 비트 xor (x, y)

비트에 대한 XOR 연산 x, y

문자열 함수

다음 표는 문자열 함수를 나열합니다.

S. 아니 기능 및 설명
1. concat (문자열 1, ..., 문자열 N)

주어진 문자열을 연결

2. 길이 (문자열)

주어진 문자열의 길이를 반환

삼. 낮은 (문자열)

문자열의 소문자 형식을 반환합니다.

4. 대문자 (문자열)

주어진 문자열의 대문자 형식을 반환합니다.

5. lpad (문자열, 크기, 패드 문자열)

주어진 문자열에 대한 왼쪽 패딩

6. ltrim (문자열)

문자열에서 선행 공백을 제거합니다.

7. 바꾸기 (문자열, 검색, 바꾸기)

문자열 값을 대체합니다.

8. reverse (문자열)

문자열에 대해 수행 된 작업을 되돌립니다.

9. rpad (문자열, 크기, 패드 문자열)

주어진 문자열에 대한 오른쪽 패딩

10. rtrim (문자열)

문자열에서 후행 공백을 제거합니다.

11. split (문자열, 구분 기호)

구분 기호에서 문자열을 분할하고 최대 제한 크기의 배열을 반환합니다.

12. split_part (문자열, 구분 기호, 색인)

구분 기호에서 문자열을 분할하고 필드 인덱스를 반환합니다.

13. strpos (문자열, 부분 문자열)

문자열에서 하위 문자열의 시작 위치를 반환합니다.

14. substr (문자열, 시작)

주어진 문자열에 대한 부분 문자열을 반환합니다.

15. substr (문자열, 시작, 길이)

특정 길이의 주어진 문자열에 대한 부분 문자열을 반환합니다.

16. trim (문자열)

문자열에서 선행 및 후행 공백을 제거합니다.

날짜 및 시간 기능

다음 표는 날짜 및 시간 기능을 나열합니다.

S. 아니 기능 및 설명
1. 현재 _ 날짜

현재 날짜를 반환합니다.

2. 현재 시간

현재 시간을 반환합니다.

삼. current_timestamp

현재 타임 스탬프를 반환합니다.

4. current_timezone ()

현재 시간대를 반환합니다.

5. 지금()

현재 날짜, 타임 스탬프를 시간대와 함께 반환합니다.

6. 현지 시각

현지 시간을 반환합니다.

7. localtimestamp

로컬 타임 스탬프를 반환합니다.

정규식 함수

다음 표는 정규식 함수를 나열합니다.

S. 아니 기능 및 설명
1. regexp_extract_all (문자열, 패턴)

패턴의 정규식과 일치하는 문자열을 반환합니다.

2. regexp_extract_all (문자열, 패턴, 그룹)

패턴 및 그룹에 대한 정규식과 일치하는 문자열을 반환합니다.

삼. regexp_extract (문자열, 패턴)

패턴의 정규식과 일치하는 첫 번째 부분 문자열을 반환합니다.

4. regexp_extract (문자열, 패턴, 그룹)

패턴 및 그룹에 대한 정규식과 일치하는 첫 번째 하위 문자열을 반환합니다.

5. regexp_like (문자열, 패턴)

패턴과 일치하는 문자열을 반환합니다. 문자열이 반환되면 값은 true가되고 그렇지 않으면 false가됩니다.

6. regexp_replace (문자열, 패턴)

표현식과 일치하는 문자열의 인스턴스를 패턴으로 바꿉니다.

7. regexp_replace (문자열, 패턴, 교체)

표현식과 일치하는 문자열의 인스턴스를 패턴 및 대체로 바꿉니다.

8. regexp_split (문자열, 패턴)

주어진 패턴에 대한 정규식을 분할합니다.

JSON 함수

다음 표에는 JSON 함수가 나열되어 있습니다.

S. 아니 기능 및 설명
1. json_array_contains (json, 값)

값이 json 배열에 있는지 확인하십시오. 값이 존재하면 true를 반환하고 그렇지 않으면 false를 반환합니다.

2. json_array_get (json_array, 인덱스)

json 배열의 인덱스 요소 가져 오기

삼. json_array_length (json)

json 배열의 길이를 반환합니다.

4. json_format (json)

json 구조 형식을 반환합니다.

5. json_parse (문자열)

문자열을 json으로 구문 분석합니다.

6. json_size (json, json_path)

값의 크기를 반환합니다.

URL 기능

다음 표는 URL 기능을 나열합니다.

S. 아니 기능 및 설명
1. url_extract_host (URL)

URL의 호스트를 반환합니다.

2. url_extract_path (URL)

URL의 경로를 반환

삼. url_extract_port (URL)

URL의 포트를 반환합니다.

4. url_extract_protocol (url)

URL의 프로토콜을 반환합니다.

5. url_extract_query (URL)

URL의 쿼리 문자열을 반환합니다.

집계 함수

다음 표에는 집계 함수가 나열되어 있습니다.

S. 아니 기능 및 설명
1.

avg(x)

주어진 값에 대한 평균을 반환합니다.

2. 최소 (x, n)

두 값에서 최소값을 반환합니다.

삼. 최대 (x, n)

두 값에서 최대 값을 반환합니다.

4. 합계 (x)

값의 합계를 반환합니다.

5. 카운트(*)

입력 행 수를 반환합니다.

6. 카운트 (x)

입력 값의 개수를 반환합니다.

7. 체크섬 (x)

체크섬을 반환합니다. x

8. 임의 (x)

임의의 값을 반환합니다. x

색상 기능

다음 표는 색상 기능을 나열합니다.

S. 아니 기능 및 설명
1. bar (x, 너비)

rgb low_color 및 high_color를 사용하여 단일 막대를 렌더링합니다.

2. 막대 (x, 너비, 낮은 색상, 높은 색상)

지정된 너비에 대한 단일 막대를 렌더링합니다.

삼. 색상 (문자열)

입력 한 문자열의 색상 값을 반환합니다.

4. render (x, color)

ANSI 색상 코드를 사용하여 특정 색상을 사용하여 값 x를 렌더링합니다.

5. 세우다 (b)

부울 값 b를 허용하고 ANSI 색상 코드를 사용하여 녹색 true 또는 빨간색 false를 렌더링합니다.

6.

rgb(red, green, blue)

0에서 255 사이의 int 매개 변수로 제공된 세 가지 구성 요소 색상 값의 RGB 값을 캡처하는 색상 값을 리턴합니다.

배열 함수

다음 표는 배열 함수를 나열합니다.

S. 아니 기능 및 설명
1. 배열 _ 최대 (x)

배열에서 최대 요소를 찾습니다.

2. 배열 _ 분 (x)

배열에서 최소 요소를 찾습니다.

삼. 배열 _ 정렬 (x)

배열의 요소를 정렬합니다.

4. array_remove (x, 요소)

배열에서 특정 요소를 제거합니다.

5. concat (x, y)

두 배열을 연결합니다.

6. contains (x, element)

배열에서 주어진 요소를 찾습니다. 존재하면 True, 그렇지 않으면 false가 반환됩니다.

7. 배열 _ 위치 (x, 요소)

배열에서 주어진 요소의 위치 찾기

8. array_intersect (x, y)

두 배열 간의 교차를 수행합니다.

9. element_at (배열, 색인)

배열 요소 위치를 반환합니다.

10. 슬라이스 (x, 시작, 길이)

특정 길이로 배열 요소를 슬라이스합니다.

Teradata 함수

다음 표에는 Teradata 함수가 나열되어 있습니다.

S. 아니 기능 및 설명
1. index (문자열, 부분 문자열)

주어진 부분 문자열이있는 문자열의 인덱스를 반환합니다.

2. 부분 문자열 (문자열, 시작)

주어진 문자열의 부분 문자열을 반환합니다. 여기에서 시작 색인을 지정할 수 있습니다.

삼. 부분 문자열 (문자열, 시작, 길이)

특정 시작 인덱스 및 문자열 길이에 대해 지정된 문자열의 하위 문자열을 반환합니다.