DATE_FORMAT_TZ işlevi, bir TIMESTAMP değerini belirtilen saat diliminde biçimlendirilmiş bir dizeye dönüştürür.
Sözdizimi
VARCHAR DATE_FORMAT_TZ(TIMESTAMP timestamp, VARCHAR format, VARCHAR timezone)
VARCHAR DATE_FORMAT_TZ(TIMESTAMP timestamp, VARCHAR timezone)
Her iki söz dizimi de VARCHAR türünde bir dize döndürür.
Giriş parametreleri
| Parametre | Veri türü | Açıklama |
|---|---|---|
timestamp |
TIMESTAMP | Dönüştürülecek zaman damgası. |
format |
VARCHAR | Çıktı tarih biçimi. Örnek: yyyy-MM-dd HH:mm:ss. |
timezone |
VARCHAR | Hedef saat dilimi. Örnek: Asia/Shanghai. |
Kullanım notları
İşlev, zaman damgasını hedef saat dilimine kaydırır. Örneğin,
Asia/Shanghai(UTC+8) dilimindeki Unix epoch değeri0,1970-01-01 08:00:00olarak görüntülenir.
Örnek
Test verileri
| timestamp1 (TIMESTAMP) | format1 (VARCHAR) | timezone1 (VARCHAR) |
|---|---|---|
| 0 | yyyy-MM-dd HH:mm:ss | Asia/Shanghai |
Test ifadesi
SELECT
DATE_FORMAT_TZ(timestamp1, format1, timezone1) AS var1,
DATE_FORMAT_TZ(timestamp1, timezone1) AS var2
FROM T1;
Test sonucu
| var1 (VARCHAR) | var2 (VARCHAR) |
|---|---|
| 1970-01-01 08:00:00 | 1970-01-01 08:00:00 |
Unix epoch değeri 0, 1970-01-01 00:00:00 UTC anına karşılık gelir. Asia/Shanghai (UTC+8) saat dilimine kaydırıldığında sonuç 1970-01-01 08:00:00 olur.