concat()

concat() 함수는 하나 이상의 인자를 순서대로 이어 붙여 하나의 문자열로 반환합니다.

문법

concat(VALUE1[, VALUE2, ...])

매개변수

VALUE1, VALUE2, ...
이어 붙일 값입니다. 두 개 이상의 인자를 지정할 수 있으며, 인자의 수에 제한이 없습니다.

설명

concat() 함수는 각 인자를 문자열로 변환한 뒤 순서대로 이어 붙여 문자열을 반환합니다. array()가 반환하는 것과 같은 객체 배열, 리스트, 맵은 JSON 형식(예: ["값1","값2"], {"키":"값"})으로 직렬화하여 이어 붙이며, 그 외의 값(binary()가 반환하는 byte[] 등 기본형 배열 포함)은 toString()을 호출하여 변환합니다. 인자 중 null 값은 무시하며 이어 붙이기에 포함하지 않습니다. 모든 인자가 null이더라도 빈 문자열("")을 반환합니다.

오류 코드

해당 사항 없음

사용 예

이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.

  1. HTTP 메서드와 URI를 이어 붙여 요청 문자열 생성

    table limit=5 WEB_APACHE_SAMPLE | eval result = concat(method, " ", uri) | fields method, uri, result
    | # result: "GET /feed" 등
    
  2. HTTP 메서드, URI, 프로토콜을 이어 붙여 요청 행 재구성

    table limit=5 WEB_APACHE_SAMPLE | eval result = concat(method, " ", uri, " ", protocol) | fields result
    | # result: "GET /feed HTTP/1.1" 등
    
  3. null 인자 무시

    json "{'a': 'foo', 'b': null, 'c': 'bar'}" | eval result = concat(a, b, c)
    | # result: "foobar"
    
  4. 전체 인자가 null인 경우

    json "{'a': null}" | eval result = concat(a)
    | # result: ""
    
  5. 배열을 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