mysql - mysql中的日期时间字段溢出错误

标签 mysql datetime mysql-workbench

我试图在从 mssql 转换后插入到 mysql 表中。日期时间格式是十六进制的,然后我写了一个函数将它转换为日期时间。当我尝试插入值时,出现日期时间字段溢出错误。

我的插入语句如下所示:

INSERT into BankMaster (BankCode, BankName, CREATEDID, CREATEDDATETIME, UPDATEDID, UPDATEDDATETIME) VALUES ('N','xxxx','admin',cast(ConvertSQLServerDate(0x98A90076) as datetime), NULL, NULL);

函数如下:

create function ConvertSQLServerDate(dttm binary(16))
returns datetime
return CAST(
 '1900-01-01 00:00:00' + 
  INTERVAL CAST(CONV(substr(HEX(dttm),1,8), 16, 10)  AS SIGNED) DAY +
  INTERVAL CAST(CONV(substr(HEX(dttm),9,8), 16, 10)  AS SIGNED)* 10000/3 MICROSECOND AS DATETIME);

如有任何帮助,我们将不胜感激。

最佳答案

我在 MSSQL 中生成了以 smalldatetime 作为数据类型的脚本。所以我得到了一个 8 位十六进制数。后来,我转换为 datetime 数据类型,得到 16 位十六进制值,得到了我想要的结果。

关于mysql - mysql中的日期时间字段溢出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28579293/

相关文章:

mysql - Bitnami Dreamfactory Stack 的默认 root 密码

mysql - 更改mysql中外键引用的数据类型

php - 使用 PHP 更改查询的日期

Where 子句中的 PHP 变量字符串为空

r - 在 R 中将 unix 时间戳列转换为星期几

javascript - 时间戳不一致

php - Paypal IPN PHP 脚本未插入数据库

r - 将格式因子 Hh Mm Ss 转换为持续时间

MySql 错误 1064 使用 MySQL WorkBench 分配架构权限时

mysql - 复合主键与 sql 工作台中的自动增量主键