我使用的DB2數據庫。我必須查詢被叫其具有定義爲TIMESTAMP
其列CRDATTIM
之一「樣品」表。佔位符值轉換成需要的格式在SQL查詢
我從Java中使用佔位這樣的查詢表:
select * from sample where crdattim=? and recordcd='C';
的CRDATTIM字段的值是低於TIMESTAMP格式。
CRDATTIM RECORDCD
2014-08-08 12:12:39.621060 O
2014-08-27 07:01:46.814080 T
2014-08-27 06:41:47.404080 T
2014-08-27 07:14:47.871080 T
2014-08-28 02:23:50.390080 T
2014-08-28 06:27:58.298080 T
2014-09-02 08:57:37.607080 T
從Java端,的CRDATTIM
值稍微不同format.i.e傳遞例如2014-08-08-12.12.39.621060
代替2014-08-08 12:12:39.621060
。我不轉換成需要的格式2014-08-08-12.12.39.621060
在java的結束,而是我想它在數據庫端轉換。
我試着用下面的查詢,但沒有奏效。
select * from sample where VARCHAR_FORMAT(crdattim,'YYYY-MM-DD HH24:MI:SS.FF6')=? and recordcd='C';
有關如何實現這一點的任何想法?
如果'crdattim'是一個日期時間類型,你應該只把一個作爲java.sql.Timestamp中的參數 – Jens
感謝您的答覆。 crdattim是表中的Timestamp類型。在oracle中,同一列被定義爲'Char'。我正在開發一個適用於所有數據庫的公用程序。我不想處理這些類型的檢查,無論它是java代碼中的字符還是時間戳。我想在sql查詢中處理它。有什麼辦法嗎?像鑄造或使用數據庫的其他功能。 –
Sonds像你想推倒重來(OR映射器)。 – Jens