2012-10-15 51 views

回答

0

嘗試這種解決方案:

select (select SYSTIMESTAMP from dual) as d 
     /* 
      Here you can add more columns from table tab 
     */ 
from tab 
3

一個常見用途(對我來說)是用它來使直列意見加入就......

SELECT 
    filter.Title, 
    book.* 
FROM 
(
    SELECT 'Red Riding Hood' AS title FROM dual 
    UNION ALL 
    SELECT 'Snow White'  AS title FROM dual 
) 
    AS filter 
INNER JOIN 
    book 
    ON book.title = filter.title 

[這是一個故意瑣碎的例子。]

0

應該沒有必要,DUAL關鍵字是一種說法是你不查詢表格,如果你想用其他表格「加入」DUAL,只需查詢另一個表格,包括不是來自select子句中表格的列。

編輯:正如評論所說,這種說法是錯誤的,DUAL是一個表。

我仍然認爲這是在包括沒有點(從問題)

DUAL表中加入

+0

不是這樣,'DUAL'是一個表格而不是**關鍵字**。在這裏閱讀更多:http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1562813956388 –

+0

@ A.B.Cade對,我的壞。儘管'DUAL'被設計爲助手,並且只要您在查詢中包含其他表格,那麼應該不再需要該幫助器。做單行笛卡爾產品沒有意義,因爲它是中性元素,OP明確要求「將DUAL表包含在連接中」。 – Paciv

1

基本上你可以,但沒有必要。
您可以SYSTIMESTAMP僞列添加到任何查詢,你已經有了:

SELECT t.col1, t.col2, systimestamp 
FROM your_table t 

會給相同的結果

SELECT t.col1, t.col2, d.st 
FROM your_table t, (select systimestamp st from dual) d 

注意,雙表只有一條線,所以cartessian產品將不要將行添加到原始查詢中。

+0

感謝所有的答案。 A.B凱德的解決方案奏效。我試圖做的實際情況如下:當我們使用Fiddler或Postman進行API測試時,數據庫返回事件時間戳值。我需要將此時間戳值與Web服務調用返回時間戳,即實際http Web響應的時間戳進行比較。 endTime值。這個值是否應該被DEV包含在API本身中,或者有什麼方法可以查詢並得到它?以及如何將此時間戳轉換爲CDT?如果這不是一個相關的問題,我會打開新的線程。謝謝。 – rktimeless

+0

@rktimeless,我不確定我是否理解你的要求,但好像你應該爲這個問題打開一個新的線程。至於CDT,'timezone'數據類型(as systimestamp)的時間戳已經支持CDT,請閱讀http://docs.oracle.com/cd/B19306_01/server.102/b14225/ch4datetime。htm#i1006760 –

+0

嗨ABCAde,我只需要得到http web響應返回時的時間戳。我正在使用Fiddler將API打到服務器,該服務器成功地給出了http響應,如下所示:「header」:「product」:「xxxxxxxxxx」, 「version」:「xxxxxxxx」 }, 「status」: { 「elapsedTime」:329, 「httpReturnCode」:200, 「的StatusCode」:0, 「成功」:真實, 「開始時間」:1350387905444, 「狀態說明」: 「成功」 } ---這是json的迴應。但是這並不顯示endTime,響應返回的時間。任何想法? – rktimeless

相關問題