- 카테고리:
반정형 및 정형 데이터 함수 (캐스트)
AS_<오브젝트_유형_>¶
이 함수 집합은 VARIANT 값을 다른 데이터 타입으로 엄격하게 캐스팅하는 데 사용할 수 있습니다.
- 참고 항목:
일반적인 사용법 노트¶
VARIANT 인자의 값 형식이 출력 값과 일치하지 않으면 NULL이 반환됩니다. 예를 들어,
DATE
를 포함하지 않는 VARIANT 값이 AS_DATE()에 전달되면 NULL이 반환됩니다.입력이 NULL이면 출력은 NULL입니다.
예¶
vartab
테이블의 베리언트 형식 열에서 모든 숫자 값의 평균을 계산합니다.
먼저, 테이블을 만들고 이에 데이터를 로딩합니다.
CREATE OR REPLACE TABLE vartab (n NUMBER(2), v VARIANT); INSERT INTO vartab SELECT column1 AS n, PARSE_JSON(column2) AS v FROM VALUES (1, 'null'), (2, null), (3, 'true'), (4, '-17'), (5, '123.12'), (6, '1.912e2'), (7, '"Om ara pa ca na dhih" '), (8, '[-1, 12, 289, 2188, false,]'), (9, '{ "x" : "abc", "y" : false, "z": 10} ') AS vals;둘째, 값의 데이터 타입을 표시합니다(일부는 숫자이고 일부는 그렇지 않음).
select n, as_real(v), typeof(v) from vartab order by n; +---+------------+------------+ | N | AS_REAL(V) | TYPEOF(V) | |---+------------+------------| | 1 | NULL | NULL_VALUE | | 2 | NULL | NULL | | 3 | NULL | BOOLEAN | | 4 | -17 | INTEGER | | 5 | 123.12 | DECIMAL | | 6 | 191.2 | DOUBLE | | 7 | NULL | VARCHAR | | 8 | NULL | ARRAY | | 9 | NULL | OBJECT | +---+------------+------------+셋째,
VARIANT
열에서 모든 숫자 값의 평균을 계산합니다.select avg(as_real(v)) from vartab; +-----------------+ | AVG(AS_REAL(V)) | |-----------------| | 99.106666667 | +-----------------+