案例:
需要存储未更改为"YYYYMMDD"格式的日期常量格式吗?
获取文本文件中的常量数据,如:20120201 20110101等…应放在表字段中
(我想把它像日期一样存储,以便快速查询)
我认为mysql直接支持"Date"类型的
表格:
id| mydate |
-------------------
1 | 20120201 |
2 | 20110101 |
感谢
要转换为可以存储在date类型字段中的MySQL日期:
$original = 20120924;
$mysql_format = substr($original, 0, 4) . '-' . substr($original), 4, 2) . '-' . substr($original, 6, 2);
希望能有所帮助。
(可选地,您可以将其存储为时间戳格式的INT,以获得快速结果,只需使用strtotime()将$mysql_format转换为时间戳即可;)
将其存储为MySQL日期类型。当您需要查询不带破折号的信息时,请使用MySQL替换功能,如:
REPLACE(date_column,'-','') as 'const_date'
要在插入/更新时将const_date转换为mysql日期格式,请使用mysql CONCAT和SUBSTR,如:
CONCAT(
SUBSTR(const_date, 1, 4)
, ','
, SUBSTR(const_date, 5, 2)
, ','
, SUBSTR(const_date, 7, 2)
) as 'mysql_date'
(与PHP不同,MySQL不使用第一个字符位置的零索引)