BigQuery Official #1_일반자료실

이지수·2023년 7월 31일
0

1_데이터유형

  1. 전체 데이터 유형
데이터 유형
ARRAY
BIGUMERIC
BOOL
BYTES
DATE
DATETIME
FLOAT64
GEOGRAPHY
INT64
INTERVAL
JSON
NUMERIC
STRING
STRUCT
TIME
TIMESTAMP

바이트 = 8비트
비트 = 0 또는 1

정렬 ORDER
그룹화 GROUP BY, DISTINCT, PARTITION BY

정렬 및 그룹화 불가 데이터 유형 : ARRAY, STRUCT, GEOGRAPHY, JSON
비교 불가 데이터 유형 : GEOGRAPHY, JSON

  • GEOGRAPHY 비교하기 위해선 ST_Equals 사용

NULL, NAN, -INF, -INT, 0, INT, INF 순서

  1. ARRAY(배열) 유형
  • 데이터 유형이 동일한 값으로 구성된 목록
  • LIST와 비슷한 특성
  • NULL 값을 가질 수 있음 (NULL 요소가 포함된 ARRAY는 CAST나 FORMAT을 사용해야 함)
  • 간단한 데이터 유형(INT64)와 복합 데이터 유형(ex. STRUCT)
  • Array의 Array는 생성할 수 없음으로 복합 데이터는 SELECT AS STRUCT를 이용하여 STRUCT를 ARRAY에 넣어야 함
  1. BOOL 유형
  • NULL FALSE TRUE 순서
  1. TIMESTAMP 유형
  • TIMESTAMP는 DATE 유형과는 달리 절대적 시간, 전 세계적으로 동일한 순간을 나타냄
  • '2020-01-01 00:00:00 UTC' = '2019-12-31 19:00:00 America/New_York = '2020-01-01 05:30:00 Asia/Kolkata'

2. 어휘구조 & 구문

  1. Literal

1) 원시 문자열
R"abc+"
r'''abc+'''
R"""abc+"""
원시 문자열 리터럴 프리픽스(r 또는 R)가 있는 따옴표 또는 삼중따옴표 붙은 리터럴은 원시/정규식 문자열로 해석됩니다.

  1. 쿼리 매개변수
  • 쿼리문이 길어지면 변수명에 원하는 값을 담아두고 사용
    1) 이름이 지정된 쿼리 매개변수
SELECT * FROM X WHERE LastName = @x --x: 변수명

2) 위치 쿼리 매개변수

  • ?을 사용
  • 위치 쿼리 매개변수는 이름이 지정된 쿼리 매개변수와 함께 사용할 수 X
SELECT * FROM X WHERE LastName = ? and FirstName = ?

3. 변환 규칙

참고페이지
CAST 변환, 강제 변환, 상위 유형 변환

  1. CAST 변환
  • 오류나더라도 결과값에 문제없으려면 SAFE CAST 사용
  1. 강제 변환

  2. 상위 유형 변환

  • 2개 이상의 표현식을 강제 변환할 수 있는 공통 유형

4. 형식 요소

참고페이지

  1. 날짜 및 시간
    FORMAT_DATE
    FORMAT_DATETIME
    FORMAT_TIME
    FORMAT_TIMESTAMP
    PARSE_DATE
    PARSE_DATETIME
    PARSE_TIME
    PARSE_TIMESTAMP

5. 대조

COLLATE

  • 문자열의 정렬 및 비교 방법을 결정
    -CI : 대/소문자 구분 X (Case Insensitive)
  • CS : 대/소문자를 구분 O (Case Sensitive)
  • AS : 악센트(언어의 높낮이) 구분 X (Accent Insensitive)
COLLATE('orange1', 'und:ci')

0개의 댓글