Método GETDATE() para o DB2

eu tenho tentado por um tempo agora para obter um método semelhante para GETDATE() no DB2 para i. Até agora eu encontrei o seguinte:

current date
current timestamp
current time
Seria possível para mim ...
 select specific, columns
 from table
 where datefield = current date - 1 day
Esta é a maneira mais eficiente ou há alguma maneira que talvez ainda não tenha encontrado?

editar:

tenho isto:

WHERE datefield = - days(date('2013-10-28'))

embora isto não seja útil, pois vou precisar de editá-lo todos os dias que a consulta correr.

Agora chegamos a isto:
WHERE datefield = VARCHAR_FORMAT(CURRENT TIMESTAMP, 'YYYYMMDD') - 1

excepto isto não vai trabalhar no primeiro dia do mês como 1-1 = 0 e não há dia 0 em um mês...

Author: Benny Hill, 2013-10-30

3 answers

Isto dar-te-á a data de ontem.
SELECT CURRENT DATE - 1 DAY FROM sysibm.sysdummy1
 20
Author: Benny Hill, 2013-10-30 14:12:39

Se quiser saber um determinado intervalo de datas como alternativa, pode tentar a função escalar TIMESTAMPDIFF, ler o diagrama de sintaxe do diagrama de sintaxe visual O parâmetro: 16 indica que irá avaliar por dias

O próximo exemplo determina um intervalo de 70 dias a partir de agora.

WHERE (TIMESTAMPDIFF(16, CHAR(SYSDATE- CURRENT DATE)) )<70 AND (TIMESTAMPDIFF(16, CHAR(SYSDATE- CURRENT DATE)) ) > -1

Você pode dar uma olhada neste link para todos os detalhes sobre este método que é suportado por DB2: http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.sql.ref.doc/doc/r0000861.html?cp=SSEPGG_9.7.0%2F2-10-3-2-155

 3
Author: Israelm, 2015-01-13 16:17:24
select dateadd(dd,-1,getdate())
 -3
Author: user2919277, 2013-10-30 12:00:26