DATE_FORMAT işlevi, bir zaman damgasını veya tarih dizesini belirtilen biçimde bir dizeye dönüştürür.
Sınırlamalar
DATE_FORMAT yalnızca Ververica Runtime (VVR) 3.0.0 veya sonraki sürümleri kullanan Realtime Compute for Apache Flink içinde desteklenir.
Söz dizimi
VARCHAR DATE_FORMAT(TIMESTAMP time, VARCHAR to_format)
VARCHAR DATE_FORMAT(VARCHAR date, VARCHAR to_format)
VARCHAR DATE_FORMAT(VARCHAR date, VARCHAR from_format, VARCHAR to_format)
Giriş bir TIMESTAMP ise veya varsayılan biçimdeki (yyyy-MM-dd HH:mm:ss) bir VARCHAR tarih dizesiyse iki parametreli imzayı kullanın. Kaynak VARCHAR tarih dizesi varsayılan olmayan bir biçim kullanıyorsa üç parametreli imzayı seçin.
Giriş parametreleri
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Herhangi bir giriş parametresi NULL ise veya ayrıştırma hatası oluşursa işlev NULL döndürür.
Örnekler
Hızlı başvuru
-- Format a TIMESTAMP literal
SELECT DATE_FORMAT(TIMESTAMP '2017-09-15 23:00:00', 'yyMMdd');
-- Result: 170915
-- Reformat a date string with a non-default source format
SELECT DATE_FORMAT('0915-2017', 'MMdd-yyyy', 'yyyyMMdd');
-- Result: 20170915
Tam örnek
Test verileri
|
|
|
|
|
|
|
|
Test ifadesi
SELECT DATE_FORMAT(datetime1, 'yyMMdd') as var1,
DATE_FORMAT(nullstr, 'yyMMdd') as var2,
DATE_FORMAT(datetime1, nullstr) as var3,
DATE_FORMAT(date1, 'MMdd-yyyy', nullstr) as var4,
DATE_FORMAT(date1, 'MMdd-yyyy', 'yyyyMMdd') as var5,
DATE_FORMAT(TIMESTAMP '2017-09-15 23:00:00', 'yyMMdd') as var6
FROM T1;
Test sonucu
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var2:nullstrNULL olduğu için sonuç NULL döner.var3:to_formatparametresi (nullstr) NULL olduğundan sonuç NULL olur.var4:to_formatparametresi (nullstr) NULL olduğu için sonuç NULL döner.var5:date1değeri (0915-2017)from_format(MMdd-yyyy) kullanılarak ayrıştırılır veyyyyMMddbiçimine dönüştürülür.