2017-04-05 103 views
-3

我想打一列時分秒(LT Min)高於15分鐘以下代碼使列在SQL如果分鐘數高於15分鐘

select TIMESTAMPDIFF(MINUTE, cs.subscribeddate,cs.unsubscribeddate) as 'LT Min' 
from customer cs 

任何想法?我應該使用IF嗎?

+0

你的問題還不清楚。您決定是否創建一個列不應該依賴於對錶中存儲的數據的計算。你要麼需要專欄,要麼你不需要。你的意思是你想存儲基於該計算的數據,或者如果低於該數值則不存儲它? – Niagaradad

+0

也請正確標記您的問題。你使用的是MySQL還是使用sql-server?你沒有同時使用兩者。 – Niagaradad

回答

0

您已經顯示瞭如何在幾分鐘內獲得差異。現在,無論是用它來限制選定的記錄,e.g:

select cs.*, TIMESTAMPDIFF(MINUTE, cs.subscribeddate,cs.unsubscribeddate) as "LT Min" 
from customer cs 
where TIMESTAMPDIFF(MINUTE, cs.subscribeddate, cs.unsubscribeddate) > 15; 

,或者選擇所有行和示區別,只有當它是高於15:

select cs.*, 
    case when TIMESTAMPDIFF(MINUTE, cs.subscribeddate, cs.unsubscribeddate) > 15 then 
    TIMESTAMPDIFF(MINUTE, cs.subscribeddate, cs.unsubscribeddate) 
    end as "LT Min" 
from customer cs;