DATE_ADD(now(),INTERVAL 2 DAY) 這句話就是把當(dāng)前時間添加2天,那么當(dāng)DAY是動態(tài)的時候,應(yīng)該怎么寫?DATE_ADD(now(),INTERVAL 2 (CASE lifeType WHEN 1 THEN DAY WHEN 2 THEN MONTH WHEN 3 THEN YEAR ELSE YEAR END)) 這樣子會報錯。似乎預(yù)處理可以解決,但是不會弄求高手
2 回答

不負相思意
TA貢獻1777條經(jīng)驗 獲得超10個贊
DATE_ADD(now(),INTERVAL 2 (
CASE
lifeType
WHEN
1
THEN
DAY
WHEN
2
THEN
MONTH
WHEN
3
THEN
YEAR
ELSE
YEAR
END
))
嘗試修改為:
CASE
lifeType
WHEN
1
THEN
DATE_ADD(now(),INTERVAL 2
DAY
)
WHEN
2
THEN
DATE_ADD(now(),INTERVAL 2
MONTH
)
WHEN
3
THEN
DATE_ADD(now(),INTERVAL 2
YEAR
)
ELSE
DATE_ADD(now(),INTERVAL 2
YEAR
)
END

幕布斯7119047
TA貢獻1794條經(jīng)驗 獲得超8個贊
兩種辦法:
1:如果你有項目使用數(shù)據(jù)庫,那么建議在項目中就將這種數(shù)據(jù)處理好,不要讓數(shù)據(jù)庫做除讀寫之外的事情。
2:由于數(shù)據(jù)是動態(tài)的,必須要用變量了,樓主可是試一下觸發(fā)器,或者存儲過程都可以,觸發(fā)器的思路就是當(dāng)該字段發(fā)生改變的時候在這個字段上進行處理。存儲過程就是在存儲之前進行預(yù)處理。
添加回答
舉報
0/150
提交
取消