关于MySQL中DATA类型的数字格式插入问题

Shine1027 2017-08-05 09:14:21
教材上说,MySQL 中DATA类型可以YY-MM-DD或者YYMMDD数字格式插入,但我在实际检验中,当我插入07-10-29时发现,系统会报错,详细报错代码为:ERROR 1292 (22007): Incorrect date value: '-32' for column 'd' at row 1;但我验证输入071029时,是可以插入的,求大神指教是我数据库问题呢还是书本问题,下面是我的验证图
...全文
376 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Shine1027 2017-08-05
  • 打赏
  • 举报
回复
引用 3楼中国风 的回复:
07-10-29表达式会隐性转为数再做加减等于-32,负数再转日期会出现你所说的情况 e.g.
select date(07-10-29),07-10-29
/*
# date(07-08-12), 07-10-29
NULL, '-32'

*/
谢谢
中国风 2017-08-05
  • 打赏
  • 举报
回复
07-10-29表达式会隐性转为数再做加减等于-32,负数再转日期会出现你所说的情况 e.g.
select date(07-10-29),07-10-29
/*
# date(07-08-12), 07-10-29
NULL, '-32'

*/
二月十六 版主 2017-08-05
  • 打赏
  • 举报
回复
1、插入07-10-29这样格式的要带引号,不然识别不了。 2、071029这样的会自动转成date类型,所以不会报错。
OwenZeng_DBA 2017-08-05
  • 打赏
  • 举报
回复
首先,以实际的为准。其次07-08-12这样的格式你要加上引号就可以

34,872

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧