make_timestamp fungsi

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime

Membuat stempel waktu dari bidang year, month, day, hour, min, sec, dan timezone.

Sintaks

make_timestamp(year, month, day, hour, min, sec [, timezone] )

Argumen

  • yearEkspresi BILANGAN BULAT yang mengevaluasi nilai dari 1 hingga 9999.
  • monthEkspresi BILANGAN BULAT yang mengevaluasi nilai dari 1 (Januari) hingga 12 (Desember).
  • dayEkspresi BILANGAN BULAT yang mengevaluasi nilai dari 1 hingga 31.
  • hour: Ekspresi BILANGAN BULAT yang mengevaluasi nilai antara 0 dan 23.
  • min: Ekspresi BILANGAN BULAT yang mengevaluasi nilai dari 0 sampai 59.
  • sec: Ekspresi numerik yang mengevaluasi nilai dari 0 dan 60.
  • timezone: Ekspresi STRING opsional yang menilai string zona waktu yang valid. Misalnya: CET, UTC.

Pengembalian

Cap Waktu.

Dalam Databricks SQL, jika salah satu argumen berada di luar batas, hasilnya adalah NULL. Dalam Databricks Runtime, jika salah satu argumen berada di luar batas, Azure Databricks menaikkan DATETIME_FIELD_OUT_OF_BOUNDS kecuali spark.sql.ansi.enabledfalse, dalam hal ini fungsi mengembalikan NULL. Jika sec adalah 60, ini ditafsirkan sebagai 0 dan satu menit ditambahkan ke hasil.

Jika sec memiliki nilai pecahan yang tidak dapat diwakili dalam presisi mikrodetik, Azure Databricks meningkatkan INVALID_FRACTION_OF_SECOND.

Kondisi kesalahan umum

Contoh

> SELECT make_timestamp(2014, 12, 28, 6, 30, 45.887);
 2014-12-28 06:30:45.887
> SELECT make_timestamp(2014, 12, 28, 6, 30, 45.887, 'CET');
 2014-12-27 21:30:45.887
> SELECT make_timestamp(2019, 6, 30, 23, 59, 60);
 2019-07-01 00:00:00
> SELECT make_timestamp(2019, 13, 1, 10, 11, 12, 'PST');
 NULL
> SELECT make_timestamp(NULL, 7, 22, 15, 30, 0);
 NULL

-- In DBR with ANSI mode, out-of-bounds fields raise an error.
> SELECT make_timestamp(2024, 13, 1, 0, 0, 0);
  Error: DATETIME_FIELD_OUT_OF_BOUNDS