SQL中是否有方法用一個或另一個值有條件地更新列?有條件地使用SQL更新列(在Oracle中)
我有這樣的更新SQL(轉述):
UPDATE LMPROC_LIMITS
SET LIMIT = sign(LIMIT) * 100 * floor(0.000001 + (sign(LIMIT) * LIMIT * ratio/100)
WHERE SYMBOL_ID = symbolId
AND CLASSTYPE = LimitType
AND TYPE_ IN (
'minClusterPosition',
'maxClusterPosition',
'minProductPosition',
'maxProductPosition',
'minBookPosition',
'maxBookPosition',
'maxShortShares'
)
(比,符號ID,並LimitType所有在運行時填寫)
我想要做的是限制(沒有雙關語意)值LIMIT被設置爲+/- 2,147,483,647,即如果(符號(LIMIT)* 100 * floor(0.000001 +(符號(LIMIT)* LIMIT * ratio/100))的結果大於或小於該值,我想將其設置爲+/- 2,147,483,647我可以在SQL中執行此操作嗎?
這是在Oracle中的
你可以做一個CASE語句 – OlleR
你的問題不是很清楚,但你可以在sql中使用'case'來實現條件更新。 – San