Ostatnia aktualizacja: 1 października 2024
Czas czytania: 3 min
Spis treści

Co to jest CURRENT_TIMESTAMP?

W języku SQL, `CURRENT_TIMESTAMP` jest funkcją zwracającą aktualną datę i czas jako obiekt TIMESTAMP. W BigQuery, podobnie jak w innych systemach baz danych, `CURRENT_TIMESTAMP` jest przydatny do rejestrowania informacji o czasie, wykonywania operacji zależnych od czasu i analizy danych w kontekście czasowym.

Zastosowanie CURRENT_TIMESTAMP

Funkcja `CURRENT_TIMESTAMP` w BigQuery ma szerokie zastosowanie w wielu scenariuszach, w tym:

  • Rejestrowanie czasu zdarzeń: Dodanie kolumny z aktualnym czasem do tabeli podczas wstawiania nowych danych.
  • Tworzenie znaczników czasu: Użycie `CURRENT_TIMESTAMP` do generowania unikalnych znaczników czasu dla danych, co może być przydatne przy analizie trendów i wzorców w czasie.
  • Analiza danych w czasie: Filtrowanie danych w oparciu o określony czas, np. wyświetlenie danych z ostatnich 24 godzin.
  • Określanie czasu trwania operacji: Obliczanie czasu trwania zapytań lub innych procesów w BigQuery.
  • Automatyczne aktualizacje: Uaktualnianie kolumny z czasem ostatniej modyfikacji w tabeli.

Przykład użycia w BigQuery

Załóżmy, że mamy tabelę „events” przechowującą informacje o zdarzeniach z datą i czasem ich wystąpienia. Chcemy dodać kolumnę „timestamp” z aktualnym czasem w momencie dodania nowego wiersza.


CREATE TABLE events (
event_id INT64,
event_name STRING,
event_date DATE,
event_time TIME,
timestamp TIMESTAMP
);

INSERT INTO events (event_id, event_name, event_date, event_time, timestamp)
VALUES
(1, 'Event 1', '2024-09-27', '10:00:00', CURRENT_TIMESTAMP()),
(2, 'Event 2', '2024-09-28', '12:30:00', CURRENT_TIMESTAMP());

SELECT * FROM events;

Najczęstsze błędy i sposoby ich unikania

Najczęstszym błędem przy użyciu `CURRENT_TIMESTAMP` jest niezrozumienie wpływu stref czasowych. BigQuery domyślnie używa UTC (Universal Time Coordinated), dlatego ważne jest, aby upewnić się, że dane są przechowywane i przetwarzane w odpowiedniej strefie czasowej.

  • Upewnij się, że strefy czasowe są spójne: Jeśli dane pochodzą z różnych źródeł z różnymi strefami czasowymi, należy je znormalizować do jednej strefy czasowej przed użyciem `CURRENT_TIMESTAMP`.
  • Użyj funkcji `TIMESTAMP_TZ` do przechowywania informacji o strefie czasowej: Funkcja `TIMESTAMP_TZ` pozwala na przechowywanie danych z informacją o strefie czasowej, co eliminuje ryzyko błędów podczas analizy danych.

Optymalizacje i najlepsze praktyki

Aby zoptymalizować zapytania z `CURRENT_TIMESTAMP` w BigQuery, należy:

  • Użyj funkcji `CURRENT_TIMESTAMP` tylko wtedy, gdy jest to konieczne: Jeśli nie potrzebujesz aktualnego czasu, użyj funkcji `TIMESTAMP` do utworzenia statycznego znacznika czasu.
  • Zachowaj spójność typów danych: Upewnij się, że wszystkie kolumny z czasem mają ten sam typ danych, aby uniknąć problemów z porównaniami.
  • Użyj indeksów dla kolumn z czasem: Indeksowanie kolumn z czasem może znacznie przyspieszyć zapytania.

Porównanie z innymi dialektami SQL

W innych dialektach SQL, takich jak MySQL i PostgreSQL, funkcja `CURRENT_TIMESTAMP` działa podobnie jak w BigQuery. Jednak w niektórych przypadkach mogą występować drobne różnice w sposobie użycia i obsłudze stref czasowych.

  • MySQL: Funkcja `CURRENT_TIMESTAMP` w MySQL jest domyślnie ustawiona na strefę czasową serwera. Aby uzyskać aktualny czas UTC, można użyć funkcji `UTC_TIMESTAMP()`.
  • PostgreSQL: Funkcja `CURRENT_TIMESTAMP` w PostgreSQL jest domyślnie ustawiona na strefę czasową serwera. Aby uzyskać aktualny czas UTC, można użyć funkcji `NOW()`.
Udostępnij wpis
Newsletter

Zapisz się do Newslettera

Zapisując się, wyrażasz zgodę na przetwarzanie Twoich danych do celów marketingowych, zgodnie z naszą polityką prywatności.

Optymalizacja kosztów BigQuery

Poradnik

10 sposobów na optymalizację kosztów BigQuery
Looker Studio Dashoard

Poradnik

Looker Studio dla Początkujących – Co to jest Looker Studio i jak z niego korzystać?
Grafika prezentująca BigQuery

Tutorial

BigQuery dla początkujących. Jakie są sposoby przechowywania danych w BigQuery?
Google Search Console Dashboard

Dashboard analityczny

Dashboard analityczny SEO – Looker Studio
Grafika pokazująca 5 dobrych praktyk podczas tworzenia narzędzia Business Intelligence

Poradnik

Najlepsze praktyki tworzenia dashboardów analitycznych i biznesowych
Grafika pokazująca odwrócony proces ETL

Poradnik

Replikacja danych do BigQuery  – Jedyny przewodnik po procesach ETL i ELT w GCP jakiego potrzebujesz
Ikona plików cookies

Ustawienia plików cookies

Używamy plików cookies, aby zapewnić Ci najlepsze wrażenia z korzystania z naszej strony. Możesz wybrać, które pliki cookies chcesz zaakceptować.
Ikona plików cookies

Informacje o plikach cookies

Szanujemy Twoją prywatność

Używamy plików cookies lub podobnych technologii w celu zapewnienia Ci dostępu do serwisu, usprawniania jego działania, profilowania i wyświetlania treści dopasowanych do Twoich potrzeb. W każdej chwili możesz zmienić ustawienia plików cookies lub podobnych technologii poprzez zmianę ustawień prywatności w przeglądarce bądź aplikacji lub zmianę swoich preferencji w zakładce Ustawienia cookies w stopce strony. Pamiętaj, że zmiana ta może spowodować brak dostępu do niektórych funkcji serwisu.
Dane osobowe dotyczące korzystania z serwisu, w tym zapisywane i odczytywane z plików cookies lub podobnych technologii będą przetwarzane w celu zapewnienia dostępu do serwisu, w celach marketingowych, w tym profilowania, w celach wewnętrznych związanych ze świadczeniem usług oraz prowadzeniem działalności gospodarczej, w tym dowodowych, analitycznych i statystycznych, wykrywania i eliminowania nadużyć oraz w celu wykonywania obowiązków wynikających z przepisów prawa.
Przysługuje Ci prawo do dostępu do danych, ich usunięcia, ograniczenia przetwarzania, przenoszenia, sprzeciwu, sprostowania oraz cofnięcia zgód w każdym czasie. Szczegółowe informacje dotyczące przetwarzania danych oraz przysługujących Ci uprawnień, informacje dotyczące plików cookies lub podobnych technologii, w tym dotyczące możliwości zarządzania ustawieniami prywatności, znajdują się w Polityce Prywatności.