string()

값을 문자열로 변환하거나, 날짜 값을 지정한 형식의 문자열로 변환합니다.

문법

string(EXPR)
string(DATE_EXPR, DATE_FMT[, TIMEZONE])

str() 함수도 같은 기능을 제공합니다.

매개변수

EXPR
문자열로 변환할 값 또는 식.
DATE_EXPR
날짜 타입의 값 또는 식.
DATE_FMT
자바 SimpleDateFormat 클래스에 정의된 날짜 형식 문자열. 다음과 같은 날짜 지시자를 사용할 수 있습니다.

날짜 지시자

지시자설명예제
G기원 전/후AD
y달력 기준 연도2025 (yyyy); 25 (yy)
MJuly (MMMM); Jul (MMM); 07 (MM), 7 (M)
w연 기준 몇 번째 주27 (해당 연도의 27번째 주)
W월 기준 몇 번째 주2 (해당 월의 두 번째 주)
D연 단위 일10
d월 단위 일189
E요일Tuesday (EEEE); Tue (E, EE, EEE)
F월 기준 몇 번째 요일2 (해당 월의 두 번째 요일)
u요일 숫자(1=월요일, …, 7=일요일)1
a오전/오후PM
H시간(0-23)0
k시간(1-24)24
K오전/오후 시간 (0-11)0
h오전/오후 시간 (1-12)12
m30
s55
S밀리초978
z시간대(일반 표기)Pacific Standard Time; PST
Z시간대(RFC 822 표기)-0800
X시간대(ISO 8601 표기)-08;-0800;08:00
TIMEZONE
출력에 사용할 시간대. "GMT+09", "GMT+0900", "GMT+09:00" 형식의 오프셋, "KST", "UTC", "PST" 등의 약어, 또는 IANA 시간대 ID를 사용할 수 있습니다. 시간대 약어는 Time Zone Abbreviations – Worldwide List를 참고하세요.

시간대 약어 예시

약어GMT 오프셋설명
UTCGMT+0협정 세계시
KSTGMT+9대한민국 표준시
CESTGMT+2중앙유럽 서머타임
MSKGMT+3모스크바 표준시
PSTGMT-7태평양 표준시
ESTGMT-5미국 동부 표준시

설명

string() 함수는 인수를 문자열로 변환하여 반환합니다. 인수가 null이면 null을 반환합니다.

타입별 변환 동작은 다음과 같습니다.

  • 날짜: DATE_FMTTIMEZONE을 적용하여 형식화합니다. DATE_FMT를 지정하지 않으면 "yyyy-MM-dd HH:mm:ss.SSS" 형식을 사용합니다.
  • IP 주소: getHostAddress()를 호출하여 문자열로 변환합니다.
  • 배열 또는 리스트: 각 요소를 재귀적으로 변환하여 [값1,값2,...] 형식으로 반환합니다.
  • 그 외: toString()을 호출합니다.

잘못된 날짜 형식 문자열을 지정하거나 유효하지 않은 시간대를 지정하면 쿼리 파싱 시점에 오류가 발생합니다.

오류 코드

오류 코드설명
90841유효하지 않은 시간대를 지정한 경우
90842잘못된 날짜 형식 문자열을 지정한 경우

사용 예

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

  1. HTTP 상태 코드(정수)를 문자열로 변환

    table limit=5 WEB_APACHE_SAMPLE | eval result = string(status) | fields status, result
    | # result: "200", "404" 등
    
  2. 날짜를 지정한 형식으로 변환

    table limit=5 WEB_APACHE_SAMPLE | eval result = string(_time, "yyyy-MM-dd HH:mm:ss") | fields _time, result
    | # result: "2024-11-18 17:40:25" 등
    
  3. 날짜를 특정 시간대로 변환

    table limit=5 WEB_APACHE_SAMPLE | eval result = string(_time, "yyyy-MM-dd HH:mm:ssZ", "UTC") | fields _time, result
    | # result: 지정한 시간대의 날짜 문자열
    
  4. NULL 입력

    json "{'val': null}" | eval result = string(val)
    | # result: null
    

호환성

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