BigQuery'de tarih/saat türleri

BigQuery'ye Giriş

Matt Forrest

Field CTO

Tarih ve saat neden önemlidir

  1. Uzun veri kümelerini kolayca filtreleme
  2. Tarih/saat parçalarını çıkarma
  3. Bölümlendirme stratejileri
BigQuery'ye Giriş

Tarihler

DATE veri türüne örnek

SELECT 
    DATE(2010, 05, 19) as launch


/*------------* | launch | +------------+ | 2010-05-19 | *------------*/
BigQuery'ye Giriş

Zaman damgaları

Zaman damgası örneği:

SELECT 
    TIMESTAMP("2010-05-19 00:00:00+00") as launch


/*-------------------------* | launch | +-------------------------+ | 2010-05-19 00:00:00 UTC | *-------------------------*/
BigQuery'ye Giriş

Datetime ve Time

Time ve Datetime örnekleri:

SELECT
  TIME(12, 00, 00) as noon,

DATETIME(2019, 05, 19, 00, 00, 00) as launch
/*----------+----------------------* | noon | launch | +----------+----------------------+ | 12:00:00 | 2019-05-19T00:00:00 | *----------+----------------------*/
BigQuery'ye Giriş

Tarih ve zaman damgası parçaları

Gün

  • DAY, DAYOFWEEK, DAYOFYEAR.

Hafta

  • WEEK, WEEKDAY, ISOWEEK.

Ay/Yıl

  • MONTH, QUARTER, YEAR, ISOYEAR.

Zaman

  • HOUR, MINUTE, SECOND, MILLISECOND, MICROSECOND.
1 https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc
BigQuery'ye Giriş

ADD, SUBTRACT ve DIFF

Beş gün ekleme

SELECT 
    DATE_ADD(DATE '2010-05-19', 
             INTERVAL 5 DAY) 
             AS five_days_later;

/*--------------------* | five_days_later | +--------------------+ | 2010-05-24 | *--------------------*/

Farkı bulma

SELECT 
    DATE_DIFF(DATE '2010-05-24', 
             DATE '2010-05-19', DAY) 
             AS difference;


/*-------------* | difference | +-------------+ | 5 | *-------------*/
BigQuery'ye Giriş

EXTRACT

Haftanın gününü bulma

SELECT 
    EXTRACT(DAYOFWEEK FROM DATE '2010-05-19') 
             AS day_of_week;


/*--------------* | day_of_week | +--------------+ | 4 | *--------------*/
BigQuery'ye Giriş

FORMAT

SELECT
    FORMAT_DATE(
      '%x', DATE '2010-05-19') 
    AS with_slashes;


/*--------------* | with_slashes | +--------------+ | 05/19/10 | *--------------*/
SELECT
    FORMAT_DATE(
      '%A', DATE '2010-05-19') 
    AS dow;

/*--------------* | dow | +--------------+ | Wednesday | *--------------*/
1 https://cloud.google.com/bigquery/docs/reference/standard-sql/format-elements#format_elements_date_time
BigQuery'ye Giriş

Geçerli tarih/zaman damgası

Geçerli zaman damgasını bulma:

SELECT
  CURRENT_TIMESTAMP(); 

/*---------------------------------*
 | current_timestamp               |
 +---------------------------------+
 | 2023-11-13 17:35:25.951432 UTC  |
 *---------------------------------*/

Geçerli tarihi bulma:

SELECT
  CURRENT_DATE();

/*---------------*
 | current_date  |
 +---------------+
 | 2023-11-13    |
 *---------------*/
BigQuery'ye Giriş

Kısa notlar

Veri türleri

  • Tarihler günleri ifade eder, zaman damgaları mutlak tarih ve saatleri ifade eder

Tarih/zaman damgası parçaları

  • Tarih/zaman damgasının parçaları (ör. MONTH veya HOUR)

Ekle ve çıkar

  • Parça ekleme/çıkarma işlevleri (ör. DATE_ADD)

Fark

  • İki tarih arasındaki farkı parçaya göre hesaplama (ör. TIMESTAMP_SUB)

Çıkar ve biçimlendir

  • Tarihten parça çıkarma ve tarihi biçimlendirme (ör. EXTRACT ve FORMAT)

Geçerli tarih/zaman damgası

  • Geçerli tarihi veya zaman damgasını döndürür (ör. CURRENT_TIMESTAMP)
BigQuery'ye Giriş

Hadi pratik yapalım!

BigQuery'ye Giriş

Preparing Video For Download...