Ответ 1
SELECT VARCHAR_FORMAT(CURRENT TIMESTAMP, 'YYYYMMDD')
FROM SYSIBM.SYSDUMMY1
Должен работать как на мэйнфреймах, так и на Linux/Unix/Windows DB2. Запись в информационном центре для VARCHAR_FORMAT()
.
Я просто хочу отформатировать текущую дату в yyyymmdd
в DB2.
Я вижу доступные форматы дат, но как их использовать?
SELECT CURDATE() FROM SYSIBM.SYSDUMMY1;
Я не вижу простого способа использовать перечисленные выше форматы.
Любое предложение?
SELECT VARCHAR_FORMAT(CURRENT TIMESTAMP, 'YYYYMMDD')
FROM SYSIBM.SYSDUMMY1
Должен работать как на мэйнфреймах, так и на Linux/Unix/Windows DB2. Запись в информационном центре для VARCHAR_FORMAT()
.
Еще одно решение REPLACE (CHAR (текущая дата, ISO), '-', '')
Это не просто, но
SELECT CHAR(CURRENT DATE, ISO) FROM SYSIBM.SYSDUMMY1
возвращает текущую дату в формате yyyy-mm-dd. Вам нужно будет подстроить и конкатенировать результат, чтобы получить yyyymmdd.
SELECT SUBSTR(CHAR(CURRENT DATE, ISO), 1, 4) ||
SUBSTR(CHAR(CURRENT DATE, ISO), 6, 2) ||
SUBSTR(CHAR(CURRENT DATE, ISO), 9, 2)
FROM SYSIBM.SYSDUMMY1
Текущая дата находится в формате yyyy-mm-dd
. Вы можете преобразовать его в формат yyyymmdd
с помощью функции substring
:
select substr(current date,1,4)||substr(current date,6,2)||substr(currentdate,9,2)
select to_char(current date, 'yyyymmdd') from sysibm.sysdummy1
результат: 20160510