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

时间:2015-02-18 08:45:15

标签: mysql datetime mysql-workbench

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

我的插入语句如下所示:

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);

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

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