2012-04-25 214 views

回答

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

應在大型機和Linux/Unix/Windows的DB2工作。 Info Center entry for VARCHAR_FORMAT()

+0

工作。謝謝..你能否告訴我如何從上述日期減少天數.................................. ......................像CURDATE() - (3天) – zod 2012-04-25 18:49:29

+0

看起來你已經擁有它了。 :)'CURRENT TIMESTAMP - 3 DAY' – bhamby 2012-04-25 19:05:44

2

這不是直接的,但

SELECT CHAR(CURRENT DATE, ISO) FROM SYSIBM.SYSDUMMY1 

返回YYYY-MM-DD格式的當前日期。你將不得不substring和連接結果得到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 2012-04-25 18:12:24

+0

我無法讓ALTDATE函數在我的DB2上工作。我在答案中發佈的內容。 – 2012-04-25 18:22:16

1

當前日期格式爲yyyy-mm-dd格式。您可以使用substring功能將其轉換成yyyymmdd格式:

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

還有一個解決方案 REPLACE(CHAR(當前日期,ISO), ' - ', '')

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

結果:20160510

+0

查詢無效。它返回: SQL0440N未找到具有 兼容參數的名爲「TO_CHAR」類型爲「FUNCTION」的授權例程。 SQLSTATE = 42884 – Ian 2017-12-14 03:37:56