目前,如果我有一个类型为DATETIME(6)
的列,并且通过普通SELECT datecolumn FROM tablename
使用PHP提取该值,那么它显然总是作为匹配以下正则表达式的字符串返回
/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d+$/
结果为零填充。
这个完全格式是否有保证并在某处记录?或者是否可能将代码迁移到配置不同的服务器会生成一个字符串,该字符串不会填充前导零或使用斜杠而不是连字符,或者其他一些区别?
答案 0 :(得分:2)
根据关于Date, DateTime and Timestamp DataTypes
的MySQL声明你应该总是期待这种格式:yyyy-mm-dd hh:mm:ss
和
DATETIME类型用于包含日期和时间的值 部分。 MySQL在'YYYY-MM-DD中检索并显示DATETIME值 HH:MM:SS'格式。支持的范围是'1000-01-01 00:00:00'到 '9999-12-31 23:59:59'。
此外:
无效的DATE,DATETIME或TIMESTAMP值将转换为 适当类型的“零”值('0000-00-00'或'0000-00-00 00:00:00' )。