2012-04-25 2 views

답변

21
SELECT VARCHAR_FORMAT(CURRENT TIMESTAMP, 'YYYYMMDD') 
FROM SYSIBM.SYSDUMMY1 

는 모두 메인 프레임과 리눅스/유닉스/윈도우 DB2에 작동합니다. Info Center entry for VARCHAR_FORMAT().

+0

가 작동합니다. 고마움 .. 당신은 또한 위의 날짜에서 일을 어떻게 할 수 있는지 말할 수 있습니까? .................................. ...................... CURDATE() - (3 day) – zod

+0

당신은 이미 그것을 가지고있는 것처럼 보입니다. :)'CURRENT TIMESTAMP - 3 DAY' – bhamby

2

이것은 간단하지 않습니다,하지만

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 
+0

감사합니다. 그러나 이것을 수행하는 유일한 방법입니까? 다음 형식의 사용은 무엇입니까 .... DATE_K YYYYMMDD ?? – zod

+0

DB2에서 ALTDATE 기능을 사용할 수 없습니다. 내 답변에 게시 된 것은 작동합니다. –

1

현재 날짜는 yyyy-mm-dd 형식입니다. 당신은 substring 기능을 사용하여 yyyymmdd 형식으로 변환 할 수 있습니다 :

select substr(current date,1,4)||substr(current date,6,2)||substr(currentdate,9,2) 
3

하나 개 더 솔루션 (CHAR (현재 날짜, ISO)을, '-', '') 교체

-1
select to_char(current date, 'yyyymmdd') from sysibm.sysdummy1 

결과 : 20,160,510

+0

쿼리가 작동하지 않습니다. 리턴 : SQL0440N 호환 인수를 갖는 "기능"유형의 "TO_CHAR"라는 이름의 권한 부여 루틴이 없습니다. SQLSTATE = 42884 – Ian