MySQL-时间戳(8)替代方案?
几年前,我尝试使用早期版本的MySQL运行这个表来创建这个表,结果很好。在较新版本的MySQL中,时间戳(8)似乎存在问题MySQL-时间戳(8)替代方案?,mysql,sql,timestamp,sqldatatypes,Mysql,Sql,Timestamp,Sqldatatypes,几年前,我尝试使用早期版本的MySQL运行这个表来创建这个表,结果很好。在较新版本的MySQL中,时间戳(8)似乎存在问题 CREATE TABLE top_hits ( sid int(11), ip varchar(20), cdate timestamp(8) ) 我可以使用什么作为第4行时间戳(8)的替代方案?YYYYMMDD cdate timestamp(8) 提前感谢。的语法 timestamp(N) 从mysql 5开始,已弃用 您可以选择您选择的日期 SELE
CREATE TABLE top_hits (
sid int(11),
ip varchar(20),
cdate timestamp(8)
)
我可以使用什么作为第4行时间戳(8)的替代方案?YYYYMMDD
cdate timestamp(8)
提前感谢。的语法
timestamp(N)
从mysql 5开始,已弃用
您可以选择您选择的日期
SELECT date(ts)+0 from t;
DATETIME数据类型占用存储的8字节时间戳占用4字节,日期时间占用更大范围的日期您需要类型,它存储年、月和日
如果需要格式化输出(yyyyymmdd),请使用函数。字段定义中的(8)
部分对以下内容没有任何影响:
- 列的大小(以字节为单位)
- 存储在其中的值的范围(1970年至2038年)
- 是否可以在其中存储小时、分钟和秒
(8)
部分指定显示大小。当执行选择时,MySQL将返回时间戳中日期的第一部分XYZ
因此,只需从CREATETABLE查询中删除显示部分。这将创建一个时间戳
列。您可以使用MySQL函数或PHP格式化时间戳(例如,切掉时间部分等)
或者使用根本不存储时间部分的数据类型