0

案子:

需要以“YYYYMMDD”格式存储未更改的日期常量格式吗?

在文本文件中获取 const 数据,例如:20120201 20110101 等...应该放在表字段中

(我想像日期一样存储它以进行快速查询)

我认为mysql直接支持“日期”类型

桌子:

id|   mydate   |
-------------------
1 |  20120201  |
2 |  20110101  |

谢谢

4

2 回答 2

1

Store it as a MySQL date type. When you need to query the info without dashes, use the MySQL replace function like:

REPLACE(date_column,'-','') as 'const_date'


to convert const_date into mysql date format upon insert/update, use MySQL CONCAT with SUBSTR like:

CONCAT(
      SUBSTR(const_date, 1, 4)
    , ','    
    , SUBSTR(const_date, 5, 2)
    , ','
    , SUBSTR(const_date, 7, 2)
) as 'mysql_date'

(Unlike PHP, MySQL does not use zero index for first char position)

于 2012-09-24T23:09:50.363 回答
1

要转换成可以存储在 DATE 类型字段中的 MySQL 日期:

$original = 20120924;
$mysql_format = substr($original, 0, 4) . '-' . substr($original), 4, 2) . '-' . substr($original, 6, 2);

希望有帮助。

(或者,您可以将其存储为时间戳格式的 INT 以获得快速结果,只需使用 strtotime() 将 $mysql_format 转换为时间戳;)

于 2012-09-24T22:48:41.690 回答