본문으로 건너뛰기
최종 수정: 에

PARSE_DATA_SIZE

설명​

PARSE_DATA_SIZE 함수는 저장 단위가 포함된 문자열(예: "1.5GB")을 파싱하여 바이트 단위의 숫자 값으로 변환합니다.

구문​

PARSE_DATA_SIZE(<str>)

매개변수​

매개변수설명
<str>단위가 포함된 데이터 크기 문자열(예: "100MB", "2.5GB"). 타입: VARCHAR

반환값​

바이트 단위로 변환된 숫자 값을 LARGEINT 타입으로 반환합니다.

특수한 경우:

  • 지원 단위(대소문자를 구분하며, 다음 표기를 정확히 사용해야 함): B, kB, MB, GB, TB, PB, EB, ZB, YB
  • 단위는 1024를 기준으로 합니다(예: 1kB = 1024B)
  • 소수를 지원합니다(예: "2.5MB")
  • 매개변수 형식이 유효하지 않으면 오류를 반환합니다
  • 매개변수가 NULL이면 NULL을 반환합니다. Doris 4.1 계열에서는 4.1.5부터 nullable 컬럼의 NULL 행을 문자열 파싱 전에 건너뜁니다

지원 단위 테이블:

단위이름바이트
B바이트1
kB킬로바이트1024
MB메가바이트1024²
GB기가바이트1024³
TB테라바이트1024⁴
PB페타바이트1024⁵
EB엑사바이트1024⁶

예제​

  1. 기본 사용법: 바이트 파싱
SELECT parse_data_size('1024B');
+--------------------------+
| parse_data_size('1024B') |
+--------------------------+
| 1024 |
+--------------------------+
  1. 킬로바이트 파싱
SELECT parse_data_size('1kB');
+------------------------+
| parse_data_size('1kB') |
+------------------------+
| 1024 |
+------------------------+
  1. 소수가 포함된 메가바이트 파싱
SELECT parse_data_size('2.5MB');
+--------------------------+
| parse_data_size('2.5MB') |
+--------------------------+
| 2621440 |
+--------------------------+
  1. 기가바이트 파싱
SELECT parse_data_size('1GB');
+------------------------+
| parse_data_size('1GB') |
+------------------------+
| 1073741824 |
+------------------------+
  1. 테라바이트 파싱
SELECT parse_data_size('1TB');
+------------------------+
| parse_data_size('1TB') |
+------------------------+
| 1099511627776 |
+------------------------+
  1. 지원하지 않는 단위로 인한 오류
SELECT parse_data_size('1iB');
ERROR 1105 (HY000): errCode = 2, detailMessage = (10.16.10.3)[INVALID_ARGUMENT]Invalid Input argument "1iB" of function parse_data_size
  1. NULL 입력
SELECT parse_data_size(NULL);
+-----------------------+
| parse_data_size(NULL) |
+-----------------------+
| NULL |
+-----------------------+

키워드​

PARSE_DATA_SIZE