2011-09-30 65 views
0

我在MySQL數據庫有一個日期列(日期,INDEX),但因爲我有一些先進的日期查詢,使我不得不在白天和月轉移到一個新的專欄,「shortDate」。MySQL的 - 將數據傳輸

高級查詢包括季節性搜索,所以我可以搜索夏季/冬季/秋季/春季/聖誕節/新年/復活節的所有照片,但從任何年。這讓我像這樣運行的查詢,夏季:

...WHERE shortDate BETWEEN 0621 AND 0921...;" 

所以新柱(shortDate)應該是這樣的:

Date    shortDate 
2011-01-28   0128 
2011-06-17   0617 
2011-12-22   1222 

我已經創造了新的列,但我想知道轉換/轉換日期列並將轉換寫入新列的最快解決方案?這是所有可能的SQL還是我需要包含另一種服務器語言?

我有150,000行,可能需要一段時間,如果我不這樣做權利的方式。因爲我的SQL技能是非常生疏,我可能會寫一些ASP閱讀,隱蔽,並插入新的數據,但我希望有一個更快的方法...

回答

2

所有你需要的是這樣的:

Update YourTable 
set shortDate = date_format(`Date`, '%m%d') 

這將帶您現有數據的照顧。您必須確保表中輸入的任何新數據都遵循相同的規則。

您可以在插入數據的應用程序中執行該操作,也可以在負責處理shortdate內容的表中創建觸發器。

+0

嗯看起來很簡單,感謝阿德里安。我現在就應用這個,看看它是如何發展的。我也會添加一個觸發器。 – TheCarver

+0

1.5秒,非常快 - 再次感謝艾德里安:) – TheCarver