2016-08-19 40 views
2

我試圖將DB2數據庫日期字段格式轉換爲內存數據庫日期格式中的H2,如下所示。它不適合我。 請幫忙。如何將db2日期格式轉換爲H2日期格式以用於在java中進行內存測試

select CREATE_DATE from PX.MY_DB2TABLE ; 

此處數據庫表中的DB2 DATE格式爲'MM/DD/YYYY'。 CREATE_DATE是db2中的DATE數據類型。

H2數據庫只接受'yyyy-MM-dd'格式。

嘗試了以下方法在H2:

select PARSEDATETIME(CREATE_DATE,'MM/dd/yyyy') FROM PX.MY_DB2TABLE; 
    select PARSEDATETIME(CREATE_DATE,'yyyy-MM-dd') FROM PX.MY_DB2TABLE; 

錯誤: 無法解析DATE恆定

+0

實際的'DATE'類型沒有格式。只有在輸出爲其他內容時纔會對日期進行格式化。你如何訪問這兩個數據庫?如果您使用Java ORM層管理器(即JPA)之一或大多數可用的驅動程序,則會爲您管理類型轉換;當查詢從數據庫返回時,您應該獲得'java.time.LocalDate'(儘管舊版本的驅動程序可能僅限於舊的javal.sql.X類型)。 –

回答

0

爲了獲得從與格式「YYYY-MM一個DATE數據類型值的字符串表示-DD'中,在原始查詢[來自OP]中選擇的DATE字段可以使用附加參數包裝在CHAR鑄造標量中,該附加參數請求日期格式爲日期時間至字符鑄造;沒有DB2是哪個變種,但這裏的一提的是一些文檔:DB2 for Linux UNIX and Windows 9.7.0->Database fundamentals->SQL->Functions->Scalar functions->CHAR

select CHAR(CREATE_DATE, ISO) from PX.MY_DB2TABLE ; 

對於第二個參數,看日期字符串表1格式的日期在的字符串表示[想象LOCAL作爲在]中看到的LOC的有效參數: DB2 for Linux UNIX and Windows 9.7.0->Database fundamentals->SQL->Language elements->Data types->Data type list->Datetime values

相關問題