GreatSQL社区

搜索

[已解决] 并没有设置严格模式,怎么还是输入0000-00-00?

441 2 2023-3-15 10:03
并没有设置严格模式,怎么还是输入0000-00-00,而不是显示输入的无效日期?

mysql> show variables like 'sql_mode';
+---------------+---------------------+
| Variable_name | Value               |
+---------------+---------------------+
| sql_mode      | ALLOW_INVALID_DATES |
+---------------+---------------------+
1 row in set (0.00 sec)

mysql> select * from date1;
Empty set (0.00 sec)

mysql> insert into date1 values ('2001-13-40');
Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> show warnings;
+---------+------+--------------------------------------------+
| Level   | Code | Message                                    |
+---------+------+--------------------------------------------+
| Warning | 1265 | Data truncated for column 'date1' at row 1 |
+---------+------+--------------------------------------------+
1 row in set (0.00 sec)

mysql> select * from date1;
+------------+
| date1      |
+------------+
| 0000-00-00 |
+------------+
1 row in set (0.00 sec)


全部回复(2)
KAiTO 2023-3-15 10:41:41
月份只能在1~12之间,日只能1~31之间,超过这些时间界定也会变成0000,若要强行建议更换数据类型为字符串
mahone 2023-3-15 10:43:53
KAiTO 发表于 2023-3-15 10:41
月份只能在1~12之间,日只能1~31之间,超过这些时间界定也会变成0000,若要强行建议更换数据类型为字符串 ...

谢谢大佬
mahone

4

主题

0

博客

13

贡献

新手上路

Rank: 1

积分
22

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2024-4-26 22:37 , Processed in 0.018540 second(s), 13 queries , Redis On.
快速回复 返回顶部 返回列表