Метод GETDATE () для DB2
Я уже некоторое время пытаюсь получить аналогичный метод для GETDATE()
в DB2 for i. До сих пор я нашел следующее:
current date
current timestamp
current time
Это было бы возможно для меня:
select specific, columns
from table
where datefield = current date - 1 day
Это самый эффективный способ или есть какой-то способ, который я, возможно, еще не нашел?
EDIT:
в настоящее время у меня это:
WHERE datefield = - days(date('2013-10-28'))
хотя это не полезно, Так как мне нужно будет редактировать его каждый день, когда выполняется запрос.
теперь приходите к этому:
WHERE datefield = VARCHAR_FORMAT(CURRENT TIMESTAMP, 'YYYYMMDD') - 1
кроме того, это не будет работать в первый день месяца, 1 - 1 = 0 и нет дня 0 в месяц...
3 ответов
Если вы хотите знать определенный диапазон дат в качестве альтернативы, вы можете попробовать скалярную функцию TIMESTAMPDIFF, прочитать синтаксическую диаграмму визуального синтаксиса diagramSkip Параметр: 16 указывает, что он будет оцениваться в дни
следующий пример определяет диапазон 70 дней.
WHERE (TIMESTAMPDIFF(16, CHAR(SYSDATE- CURRENT DATE)) )<70 AND (TIMESTAMPDIFF(16, CHAR(SYSDATE- CURRENT DATE)) ) > -1
вы можете посмотреть по этой ссылке Все подробности об этом методе, который поддерживается 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