lpad()

lpad() 함수는 문자열의 왼쪽에 패딩 문자열을 반복하여 삽입하고 지정한 길이의 문자열로 만들어 반환합니다.

문법

lpad(STR, LENGTH[, PAD_STR])

매개변수

STR
패딩을 적용할 원본 문자열입니다.
LENGTH
반환할 문자열의 총 길이입니다. 1 이상 10240 이하의 값을 지정해야 합니다. 상수로 지정할 경우 범위를 벗어나면 오류 코드 90890을 발생시킵니다.
PAD_STR
왼쪽에 채울 패딩 문자열입니다. 지정하지 않으면 공백 문자()로 채웁니다. 빈 문자열("")을 지정하면 공백 문자로 처리합니다.

설명

lpad() 함수는 STR의 길이가 LENGTH보다 짧으면 PAD_STR을 왼쪽에 반복하여 채운 뒤 총 길이가 LENGTH인 문자열을 반환합니다. STR의 길이가 LENGTH 이상이면 STR의 왼쪽에서 LENGTH만큼 잘라서 반환합니다.

STRnull이면 null을 반환합니다. STR이 문자열이 아닌 경우 toString()으로 변환하여 처리합니다.

LENGTH가 변수로 지정된 경우, 값이 null이거나 정수형이 아니거나 1 미만이거나 10240 초과이면 null을 반환합니다.

PAD_STR이 변수로 지정된 경우, 값이 null이면 null을 반환합니다.

LENGTH를 상수로 지정할 경우 1 미만이거나 10240 초과이면 오류 코드 90890을 발생시키며 쿼리 파싱에 실패합니다.

오류 코드

90890
LENGTH1 미만이거나 10240 초과인 상수로 지정된 경우 발생합니다.

사용 예

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

  1. HTTP 상태 코드를 공백으로 왼쪽 패딩하여 5자리로 맞추기

    table limit=5 WEB_APACHE_SAMPLE | eval result = lpad(string(status), 5) | fields status, result
    | # result: "  200", "  404" 등
    
  2. 패딩 문자 지정

    table limit=5 WEB_APACHE_SAMPLE | eval result = lpad(string(status), 5, "0") | fields status, result
    | # result: "00200", "00404" 등
    
  3. 여러 문자로 구성된 패딩 문자열 지정

    json "{'val': 'string'}" | eval result = lpad(val, 10, "pad")
    | # result: "padpstring"
    
  4. 원본 문자열이 LENGTH보다 긴 경우 (왼쪽에서 잘라냄)

    json "{'val': 'string'}" | eval result = lpad(val, 3, "pad")
    | # result: "str"
    
  5. null 입력

    json "{'val': null}" | eval result = lpad(val, 10)
    | # result: null
    

호환성

lpad() 함수는 소나 4.0 이전 버전부터 제공되었습니다.