Aracılığıyla paylaş


try_parse_timestamp fonksiyon

Şunun için geçerlidir:evet olarak işaretlendi Databricks Runtime 18.1 ve üzerini denetleyin

Bir dizeyse expr , verilen biçimler listesindeki ilk eşleşen desene göre bir dizeye TIMESTAMP ayrıştırır veya hiçbir desen eşleşmezse döndürür NULL . Sayısal bir türse expr , unix zaman damgası olarak ayrıştırılır. Hata oluşturmak yerine geçersiz veya eşleşmeyen expr döndürür NULL .

Sözdizimi

try_parse_timestamp(expr [, { pattern [...] } ])

Argümanlar

  • expr: bir içine ayrıştırmak için bir TIMESTAMPdize veya sayısal değer. Kabul edilen türler şunlardır:
    • TINYINT, SMALLINT, INT, BIGINT
    • FLOAT, DOUBLE
    • DECIMAL (en fazla 18 duyarlık)
    • STRING
  • desen: İsteğe bağlı bir zaman damgası desenleri listesi veya veya #iso8601gibi #rfc3339 önceden tanımlanmış bir listeye başvuru. Zaman damgası desenleri sabit bir dize olmalıdır. Herhangi bir desen belirtilmezse, belirtilmesiyle #extendedeşdeğerdir. Desen simgesi başvurusu ve önceden tanımlanmış desen listelerinin listesi için bkz. İşlevdeparse_timestampdesen başvurusu.

İadeler

bir TIMESTAMPveya NULL ayrıştırılamıyorsa expr .

expr bir dizeyse ve desenlerin hiçbiri eşleşmiyorsa, işlevi döndürürNULL.

expr sayısalsa ve geçerli bir Unix zaman damgası (örneğin taşma) olarak yorumlanamazsa, işlevi döndürürNULL.

Format parametresi yanlış biçimlendirilmişse (geçersiz desen veya bilinmeyen desen listesi), işlev yine de bir hata oluşturur; yalnızca değeri döndüren NULLhataları ayrıştırınexpr.

Eğer exprNULL ise, işlev NULL döndürür.

Notlar

  • Desen listesi değerler içeriyorsa NULL , bunlar yoksayılır. Sağlanan tüm desenler ise NULL, sonuç olur NULL.
  • Zaman damgası saat dilimi bilgisi içermeyen bir desenle eşleşiyorsa, oturum saat diliminde ayrıştırılır.

Hata koşulları

Örnekler

-- Parse timestamp according to default pattern list
> SELECT try_parse_timestamp('2024-12-09T19:30:01');
 2024-12-09 19:30:01.000

-- Invalid date returns NULL
> SELECT try_parse_timestamp('2016-12-32');
 NULL

-- Bad input returns NULL instead of error
> SELECT try_parse_timestamp('bad input');
 NULL

-- Invalid pattern still raises an error (does not return NULL)
> SELECT try_parse_timestamp('2023', 'QQQQ');
 Error: INVALID_PARAMETER_VALUE.PATTERN

-- Extend the default pattern list with custom patterns
> SELECT try_parse_timestamp(col, "#extended", "dd MMM, yyyy", "MMM d; yy") FROM VALUES ('2024-12-01'), ('02 Dec, 2024'), ('DEC 3; 24') AS t(col)
 2024-12-01 00:00:00.000
 2024-12-02 00:00:00.000
 2024-12-03 00:00:00.000