make_timestamp işlevi

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

, , , year, month, day, hourminve sec alanlarından timezonebir zaman damgası oluşturur.

Söz dizimi

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

make_timestamp(date [, time [, timezone]] )

Bağımsız değişkenler

  • year: 1 ile 9999 bir değere değerlendirilen INTEGER ifadesi.
  • month: 1 (Ocak) ile 12 (Aralık) aralığındaki bir değere değerlendirilen INTEGER ifadesi.
  • day: 1'den 31'e kadar bir değere değerlendirilen INTEGER ifadesi.
  • hour: 0 ile 23 arasında bir değere değerlendirilen INTEGER ifadesi.
  • min: 0 ile 59 arasında bir değere değerlendirilen INTEGER ifadesi.
  • sec: 0 ile 60 arasında bir değere değerlendirilen sayısal ifade.
  • date: Yıl, ay ve gün alanlarını sağlayan DATE ifadesi.
  • time: Saat, dakika ve ikinci alanları sağlayan isteğe bağlı bir TIME ifadesi. Atlanırsa varsayılan 00:00:00 olarak kullanılır.
  • timezone: Geçerli bir saat dilimi dizesini değerlendiren isteğe bağlı bir STRING ifadesi. Örneğin: CET, UTC.

Döndürülenler

ZAMAN DAMGASı.

Databricks SQL'de bağımsız değişkenlerden herhangi biri sınırların dışındaysa sonuç olur NULL. Databricks Runtime'da, bağımsız değişkenlerden herhangi biri sınır dışındaysa, Azure Databricks DATETIME_FIELD_OUT_OF_BOUNDSspark.sql.ansi.enabledfalse değilse, bu durumda işlev NULL döndürür. sec 60 0 olarak yorumlanır ve sonuda bir dakika eklenir.

sec mikrosaniye duyarlığında temsil edilemeyen kesirli bir değere sahipse, Azure Databricks INVALID_FRACTION_OF_SECOND oluşturur.

Yaygın hata koşulları

Örnekler

> 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

> SELECT make_timestamp(DATE'2014-12-28', TIME'06:30:45.887');
 2014-12-28 06:30:45.887

> SELECT make_timestamp(DATE'2014-12-28', TIME'06:30:45.887', 'CET');
 2014-12-27 21:30:45.887

> SELECT make_timestamp(DATE'2014-12-28');
 2014-12-28 00:00:00

-- 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