我的MySQL数据库中有一个日期列(日期,INDEX),但由于我有一些高级日期查询,我必须将日期和月份转移到新列'shortDate'。
高级查询包括季节性搜索,因此我可以搜索夏季/冬季/秋季/春季/圣诞节/新年/复活节的所有照片,但任何年。这允许我在夏天运行这样的查询:
...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来阅读,隐藏和插入新数据,但我希望有更快的方法......
答案 0 :(得分:2)
所有你需要的是:
Update YourTable
set shortDate = date_format(`Date`, '%m%d')
这会照顾您的现有数据。您必须确保表中输入的任何新数据都遵循相同的规则。
您可以在插入数据的应用程序中执行此操作,也可以在负责处理shortdate
内容的表中创建触发器。