2012-05-07 51 views
0

我正在寫一個db2過程。 我的選擇查詢結果有我需要比較的日期時間。在DB2的SQL過程 - 選擇查詢結果 - 如果條件 - 子串

日期格式20120507時間格式111111

我打算Concat的兩個和比較爲整數。那是正確的比較方式嗎?

但是,如果它小於10的值將像71111 ..我打算在這些情況下在時間之前追加0,並且concat和compare。

我可以在單個語句中做到這一點。

select dbdate, if LENGTH(trim(dbtime))=7 then '0'||dbtime into newtime from tablename 
+1

不,不要將日期/時間比較爲整數,將它們作爲正確的數據類型進行比較(禁止在某些OLAP系統中專門使用日曆表)。你的數據實際上是作爲整數(或字符串)存儲的,還是你查詢的結果?你需要做什麼樣的比較? –

回答

0

嘗試使用TIMESTAMP標量函數作爲

select TIMESTAMP(dbdate, dbtime) 

這給你一個DB/2時間戳可以在比較操作中使用。在進行比較之前,根據需要,最好將所有日期/時間值轉換爲時間戳,然後truncateround