我查詢的數據庫有一個用戶表,其中包含用戶爲網站註冊的日期。如何按日期排列列未格式化的日期?
日期輸入到VARCHAR列沒有適當的日期格式是這樣的:
Apr 18 2013 12:27PM
當我SELECT MAX (dateColumn)
我得到一個值跨越日期的範圍大約一半。我已經考慮使用子字符串來抓取年份,然後是月份,然後是日期並按順序排列。問題是,先從天日期以0將一個字符縮短這樣的:
May 1 2013 12:27PM
有一個簡單的方法來找到最高日起,在不改變數據庫的結構?
您不應該將日期存儲在varchar列中。而你的問題是這個錯誤的直接結果。我強烈建議將該列更改爲真正的「DateTime」並遷移數據。 – 2013-04-25 10:13:08
是的,不幸的是,它不是我,使網站/分貝。由於已有200多個用戶,我無法更改數據庫。 – blarg 2013-04-25 10:15:00
當然可以。添加一個新列,將數據從舊列遷移到新列。放下舊的專欄。調整你的應用。這是標準的模式遷移(無論如何您都需要這樣做),用戶數量與此無關。 – 2013-04-25 10:17:24