mysql 里 date的长度 为什么总是为0

mysql 里 date的长度 为什么总是为0,第1张

那是因为你插入的数据不符合date数据类型的合法格式..

DATE:4字节 1000-01-01 ----9999-12-31

至于出现0000-00-00 那是mysql的处理机制,当你插入的数据格式不是规范的date类型要求的格式的时候,自动转化成0000-00-00这个值 ~

MySQL 的日期/时间数据类型• DATE日期。支持的范围为'1000-01-01'到'9999-12-31'。MySQL以'YYYY-MM-DD'格式显示DATE值,但允许使用字符串或数字为DATE列分配值。• DATETIME日期和时间的组合。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。MySQL以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,但允许使用字符串或数字为DATETIME列分配值。• TIMESTAMP[(M)]时间戳。范围是'1970-01-01 00:00:00'到2037年。TIMESTAMP列用于INSERT或UPDATE *** 作时记录日期和时间。如果你不分配一个值,表中的第一个TIMESTAMP列自动设置为最近 *** 作的日期和时间。也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的日期和时间。TIMESTAMP值返回后显示为'YYYY-MM-DD HH:MM:SS'格式的字符串,显示宽度固定为19个字符。如果想要获得数字值,应在TIMESTAMP 列添加+0。• TIME时间。范围是'-838:59:59'到'838:59:59'。MySQL以'HH:MM:SS'格式显示TIME值,但允许使用字符串或数字为TIME列分配值。• YEAR[(2|4)]两位或四位格式的年。默认是四位格式。在四位格式中,允许的值是1901到2155和0000。在两位格式中,允许的值是70到69,表示从1970年到2069年。MySQL以YYYY 格式显示YEAR值,但允许使用字符串或数字为YEAR列分配值。如果你用的是 hibernate, 那估计是 Java 方面的原因了。你可以根据需要, Java 那里 toString() 格式化处理一下。不显示 时分秒。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/5899239.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-07
下一篇 2023-03-07

发表评论

登录后才能评论

评论列表(0条)

保存