我有2個不同的2個不同的服務器中提取數據的存儲過程如下:SQL IF在存儲過程
SELECT
LocalDB.Record_ID,
LocalDB.Total/1440 as TotalTime,
((REMOTE_ACTIVE.Time_Adjusted) - (REMOTE_ACTIVETimes.CALCTimeSec)) as TimeLeft,
LocalDB.isManualEntry
FROM LocalDatabase.dbo.Records LocalDB left join
[RemoteServer].[Reporting].[dbo].[ActiveWO] REMOTE_ACTIVE ON
LocalDB.WO_ID = REMOTE_ACTIVE.[PO_ID]
left join [RemoteServer].[Reporting].[dbo].[ActiveWOTimes] REMOTE_ACTIVETimes ON
LocalDB.WO_ID = REMOTE_ACTIVETimes.[PO_ID]
可以發生的是,有時「的timeleft」值可以是0。當該發生了,我想的東西來替代價值像
IF(TimeLeft is 0 or null)
(getdate() - LocalDB.CreatedDate) as TimeElapsed
的事情是,我不知道如何實現這樣一個IF語句,或者如果它甚至有可能。
你可以在sql serve r中使用case語句。請參閱http://stackoverflow.com/questions/5487892/sql-server-case-when-or-then-else-end-the-or-is-not-supported – Pawan
謝謝,但並沒有顯示完整的語法,例如CASE去哪兒了。 –