MySQL TIMESTAMP 停止处理夏令时转换

标签 mysql datetime stored-procedures timezone timestamp

我有一个昨天崩溃的存储过程。事情是这样开始的:

DECLARE v_today TIMESTAMP;
SET v_today = (DATE(NOW()) + INTERVAL 0 SECOND);

我已修复此问题,将 v_today 的类型更改为 DATETIME。但我想了解为什么它只在昨天(巴西开始夏令时)才生成错误。

错误是:

Mysql2::Error: Incorrect datetime value: '2017-10-15 00:00:00' for column 'v_today' at row 1:

谢谢。

最佳答案

我敢打赌这是 MySQL 中的一个错误。这是巴西的时间转换规则。 timeanddate.com/time/change/brazil/brasilia TIMESTAMP 值 2017-10-15 00:00:00 似乎不存在,需要向前推进一个小时2017-10-15 01:00:00。但 MySQL 只是出错。

关于MySQL TIMESTAMP 停止处理夏令时转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46770367/

相关文章:

java - 将时间字符串转换为 24 小时格式

mysql - 如何创建带有插入的存储过程?

mysql - 将 Play Framework @ManyToOne 关系链接到 MySQL 中的外键

vba - Range.Find 在 VBA Excel 中不区分一月和十一月(二月和十二月)

php - 使用 PHP 将 Excel 或 CSV 文件上传到 MySQL

javascript - 日期差异应该为零,但它是 18 小时

entity-framework - 通过 Entity Framework 来自存储过程的标量值

c# - 我可以不拖动存储过程,而是将其名称剪切并粘贴到某处吗?

sql - ROWID 在内部由 SQL DBMS 索引唯一吗?

mysql - MySQL 查询中更复杂的 IF 语句