我继承了一个 MySQL 数据库,该数据库(出于历史原因)包含一个字段,该字段将日期存储为自1900-01-01以来的天数。我希望能够选择该日期的 date_format() 版本,但无法找到这样做的方法。
有没有办法操纵列的内容,以便我可以将操纵的值传递给 date_format() 以便将其识别为有效日期?
我意识到有一个解决方案涉及执行一个查询,然后操作字段(在 PHP 中)然后作为辅助查询传回 - 但我需要这是一个单一的查询解决方案。
问问题
217 次
2 回答
1
你能在数据库上创建视图和函数吗?如果是这样,我将使用您当前用于转换时间的查询创建一个函数,然后使用该函数创建一个视图以将时间显示为时间戳。这将提高您的效率并使您的 php 代码更干净:)
于 2012-04-30T10:48:08.437 回答
1
MySql FROM_DAYS() 函数是您正在寻找的 - 请参阅此处获取文档?
但是,根据您的数据库设计和用例,您可能会考虑添加一个带有日期的列(FROM_DAYS() 的结果),以便您可以对该列进行查询。当您必须将函数应用于列才能在查询中使用它时,它应该敲响警钟,这些查询的运行效率可能非常低。
于 2012-04-30T10:48:48.573 回答