我有一個表格,用於保存商店中店鋪顯示的安裝日期信息。每個店鋪展示都有一定的保修期,可以是6個月,1年,2年等,我在另一個表中保存爲「6個月」,「1年」,「2年」等。將字符串視爲MySQL語句?
是否可以使用單個MySQL查詢計算每個商店展示的到期日期?我期待這樣的事情:
SELECT t1.install_date, (t1.install_date + INTERVAL t2.period) as expiry_date FROM t1, t2
所以,我基本上是試圖處理字符串值,我從t2表獲得像MySQL聲明的一部分。這可能嗎?對於我的查詢,MySQL不會給出任何錯誤,但會顯示如下所示的expiry_date列中的值:「20110228」,「20110224」,表示t1.install_date「2011-02-28」,「2011-02-24」 。
噢,天啊,這種方法正是我所需要的!爲了擺脫調用SUBSTRING_INDEX每次我將保證期拆分爲兩列:數字和句點,所以最終版本看起來像這樣:'SELECT t1.install_date,DATE_ADD(t1.install_date,INTERVAL (IF(t2.interval_period ='YEAR',t2.interval_number * 12,t2.interval_number))MONTH)AS expiry_date ...'非常感謝! – parrker9 2011-03-03 17:49:37