0
我想要做一個選擇,它根據一個控制值計算不同的值(讓我們將其命名爲value1)。我試圖計算兩個值之間的時間差。SQL Select案例 - 我是否正確使用它?
表「測試」看起來像這樣(我沒有創建表的語句,我只是提取和simplyfying活動數據庫的內容):
value1 | value2 | value3 |value4
PO | 2017-06-20 21:54:00 | 2017-06-20 21:24:00 |2017-06-20 08:21:00
HOS | 2017-06-20 21:54:00 | 2017-06-20 21:24:00 |2017-06-20 08:21:00
select case
WHEN test.value1 = 'PO'
THEN (test.value2-test.value3)
ELSE (test.value2-test.value4)
END as "Time"
from test
我得到錯誤:
ERROR: CASE types timestamp without time zone and interval cannot be matched
簡而言之,如果value1等於'A',那麼我想減去值2和3.值1是字符串,值2,3和4是具有時間的日期。
我理解大小寫錯了嗎?
編輯:好吧,我有時有點遲鈍,我的問題是,VALUE4是字符串,所以我不得不用select to_timestamp
'FROM table_name' is missing。請添加它,並共享您想要運行此查詢的完整表結構 –
如果'value2','value3'和'value4'全部定義爲'timestamp',則應該起作用。請** [編輯] **你的問題,併爲有問題的表添加'create table'語句。 [**格式化文本**](http://stackoverflow.com/help/formatting)請,[無屏幕截圖](http://meta.stackoverflow.com/questions/285551/why-may-i-not - 上載圖像的代碼的時候,問一個問題/ 285557#285557) - [編輯]你的問題 - 做**不** **代碼或額外的信息在評論中。從錯誤 –
,你的代碼應該是不同的 –