哪个时候mysql类型应该用于存储const“YYYYMMDD”格式?

时间:2012-09-24 22:41:47

标签: mysql

案例:

需要存储格式未改变的日期常量格式" YYYYMMDD"?

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

(我希望将它存储为快速查询的日期)

我认为mysql直接支持它" Date"型

表格:

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

由于

2 个答案:

答案 0 :(得分:1)

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

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

希望有所帮助。

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

答案 1 :(得分:1)

将其存储为MySQL日期类型。当您需要查询不带破折号的信息时,请使用MySQL替换函数,如:

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


在插入/更新时将const_date转换为mysql日期格式,使用带有SUBSTR的MySQL CONCAT:

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

(与PHP不同,MySQL不会对第一个char位置使用零索引)