Subtrai um número especificado de dias de uma data e retorna o resultado como um valor DATE.
Limitações
Requer Ververica Runtime (VVR) 3.0.0 ou posterior no Realtime Compute for Apache Flink.
Sintaxe
DATE DATE_SUB(VARCHAR startdate, INT days)
DATE DATE_SUB(TIMESTAMP time, INT days)
Parâmetros
|
Parâmetro |
Tipo de dados |
Descrição |
|
|
VARCHAR |
Data inicial. Formatos aceitos: |
|
|
TIMESTAMP |
Timestamp inicial. |
|
|
INT |
Número de dias a subtrair. |
Se algum parâmetro de entrada for
NULL
ou ocorrer um erro de análise, a função retornará
NULL
.
Exemplo
O exemplo a seguir subtrai 30 dias de três entradas diferentes: uma coluna de data VARCHAR, um literal TIMESTAMP e um valor NULL.
Dados de teste
|
date1 (VARCHAR) |
nullstr (VARCHAR) |
|
2017-10-15 |
NULL |
Instrução de teste
SELECT DATE_SUB(date1, 30) AS var1,
DATE_SUB(TIMESTAMP '2017-10-15 23:00:00', 30) AS var2,
DATE_SUB(nullstr, 30) AS var3
FROM T1;
Resultado
|
var1 (DATE) |
var2 (DATE) |
var3 (DATE) |
|
2017-09-15 |
2017-09-15 |
NULL |
Tanto date1 (data VARCHAR) quanto o literal TIMESTAMP produzem o mesmo resultado. nullstr retorna NULL porque a entrada é NULL.