DATE_FORMAT convierte una marca de tiempo o una cadena de fecha en una cadena con el formato especificado.
Límites
DATE_FORMAT solo es compatible con Realtime Compute for Apache Flink que usa Ververica Runtime (VVR) 3.0.0 o versiones posteriores.
Sintaxis
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)
Use la firma de dos parámetros cuando la entrada sea un TIMESTAMP o una fecha VARCHAR en el formato predeterminado (yyyy-MM-dd HH:mm:ss). Use la firma de tres parámetros cuando la fecha VARCHAR de origen tenga un formato distinto al predeterminado.
Parámetros de entrada
|
Parameter |
Data type |
Description |
|
|
TIMESTAMP |
La marca de tiempo de origen. |
|
|
VARCHAR |
La cadena de fecha de origen. Formato predeterminado: |
|
|
VARCHAR |
El formato de la cadena de fecha de origen. Opcional. Valor predeterminado: |
|
|
VARCHAR |
El formato de destino para la cadena de salida. |
Si algún parámetro de entrada es NULL o se produce un error de análisis sintáctico, la función devuelve NULL.
Ejemplos
Referencia rápida
-- 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
Ejemplo completo
Datos de prueba
|
date1 (VARCHAR) |
datetime1 (VARCHAR) |
nullstr (VARCHAR) |
|
0915-2017 |
2017-09-15 00:00:00 |
NULL |
Instrucción de prueba
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;
Resultado de la prueba
|
var1 (VARCHAR) |
var2 (VARCHAR) |
var3 (VARCHAR) |
var4 (VARCHAR) |
var5 (VARCHAR) |
var6 (VARCHAR) |
|
170915 |
null |
null |
null |
20170915 |
170915 |
var2: NULL porquenullstres NULL.var3: NULL porqueto_format(nullstr) es NULL.var4: NULL porqueto_format(nullstr) es NULL.var5:date1(0915-2017) se analiza confrom_format(MMdd-yyyy) y se reformatea comoyyyyMMdd.