我查询的数据库有一个用户表,其中包含用户为网站注册的日期。如何按日期排列列未格式化的日期?
日期输入到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