concat()
concat() 함수는 하나 이상의 인자를 순서대로 이어 붙여 하나의 문자열로 반환합니다.
문법
concat(VALUE1[, VALUE2, ...])
매개변수
VALUE1, VALUE2, ...- 이어 붙일 값입니다. 두 개 이상의 인자를 지정할 수 있으며, 인자의 수에 제한이 없습니다.
설명
concat() 함수는 각 인자를 문자열로 변환한 뒤 순서대로 이어 붙여 문자열을 반환합니다. array()가 반환하는 것과 같은 객체 배열, 리스트, 맵은 JSON 형식(예: ["값1","값2"], {"키":"값"})으로 직렬화하여 이어 붙이며, 그 외의 값(binary()가 반환하는 byte[] 등 기본형 배열 포함)은 toString()을 호출하여 변환합니다. 인자 중 null 값은 무시하며 이어 붙이기에 포함하지 않습니다. 모든 인자가 null이더라도 빈 문자열("")을 반환합니다.
오류 코드
해당 사항 없음
사용 예
이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.
-
HTTP 메서드와 URI를 이어 붙여 요청 문자열 생성
table limit=5 WEB_APACHE_SAMPLE | eval result = concat(method, " ", uri) | fields method, uri, result | # result: "GET /feed" 등 -
HTTP 메서드, URI, 프로토콜을 이어 붙여 요청 행 재구성
table limit=5 WEB_APACHE_SAMPLE | eval result = concat(method, " ", uri, " ", protocol) | fields result | # result: "GET /feed HTTP/1.1" 등 -
null 인자 무시
json "{'a': 'foo', 'b': null, 'c': 'bar'}" | eval result = concat(a, b, c) | # result: "foobar" -
전체 인자가 null인 경우
json "{'a': null}" | eval result = concat(a) | # result: "" -
배열을 JSON 형식으로 이어 붙이기(4.0.2609.0부터 적용된 동작)
json "{}" | eval arr = array("a", "b") | eval result = concat("test message: ", arr) | # result: test message: ["a","b"]4.0.2609.0 이전에는 배열 값이 Java 객체의 내부 표현(예:
[Ljava.lang.Object;@1a2b3c)으로 출력되었습니다. 이제는 JSON 배열 형식(["a","b"])으로 출력됩니다.
변경 이력
| 대상 | 도입 릴리스 |
|---|---|
concat() 함수 | 소나 4.0 이전 버전 |
| 중첩 배열·리스트·맵을 JSON 형식으로 직렬화해 이어 붙임 | 4.0.2609.0 |