DATE_ADD(now(),INTERVAL 2 DAY) 這句話就是把當前時間添加2天,那么當DAY是動態的時候,應該怎么寫?DATE_ADD(now(),INTERVAL 2 (CASE lifeType WHEN 1 THEN DAY WHEN 2 THEN MONTH WHEN 3 THEN YEAR ELSE YEAR END)) 這樣子會報錯。似乎預處理可以解決,但是不會弄求高手
2 回答
不負相思意
TA貢獻1777條經驗 獲得超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條經驗 獲得超8個贊
兩種辦法:
1:如果你有項目使用數據庫,那么建議在項目中就將這種數據處理好,不要讓數據庫做除讀寫之外的事情。
2:由于數據是動態的,必須要用變量了,樓主可是試一下觸發器,或者存儲過程都可以,觸發器的思路就是當該字段發生改變的時候在這個字段上進行處理。存儲過程就是在存儲之前進行預處理。
添加回答
舉報
0/150
提交
取消
