从 Oracle 到 MySql 数据库的 DateTime 值

本文关键字:DateTime 数据库 MySql Oracle | 更新日期: 2023-09-27 18:33:26

我有一个问题,如何将datetime值从Oracle解析为MySQL数据库。

我写这篇文章是为了从 Oracle 中提取日期时间:

SELECT TO_CHAR(p1.creation_date,'DD.MM.RRRR HH24:mi:ss') AS dat_pot 
FROM TABLE
然后

我将结果放入数据集中,然后从数据集中提取日期的值,如下所示:

string lDat_otp = null;        
if (rw_mat["dat_otp"].ToString().Length <= 0)
{
   lDat_otp = "0";
}
else
{
   lDat_otp = "convert(datetime,'" + rw_mat["dat_otp"] + "',4)";
}

然后我在语句中使用lDat_otp INSERT和其他一些值,如下所示:

myQuery = " INSERT INTO ordersstavke (BrDok, " +
          " SifParFil, SifParIsp, DatPriOtpr, SifPodKla, Masa, Paketa) " +
          " VALUES ('" + rw_mat["brdok"] + "', '" +
                         rw_mat["sifskl_kor"] + "','" +
                         rw_mat["partner"] + "'," +
                         lDat_otp + ",'" +
                         rw_det["ibrmat"] + "', '" +
                         rw_det["izlaz_tez"] + "', '" +
                         rw_det["izlaz_kol"] + "')";

但是执行时出现错误,它如下:

您的 SQL 语法有误;请查看手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近第 1 行的"26.01.2012 13:48:41",4)"、"100654"、"0"、"10")"

所以帮忙!!

从 Oracle 到 MySql 数据库的 DateTime 值

您可以将日期时间字段解析为 DateTime 结构,然后使用参数创建insert into查询并将日期作为参数传递:

DateTime time = //Some value ...
String myQuery = " INSERT INTO ordersstavke (BrDok, " +
          " SifParFil, SifParIsp, DatPriOtpr, SifPodKla, Masa, Paketa) " +
          " VALUES ('" + rw_mat["brdok"] + "', '" +
                         rw_mat["sifskl_kor"] + "','" +
                         rw_mat["partner"] + "'," +
                         "?date ,'" +
                         rw_det["ibrmat"] + "', '" +
                         rw_det["izlaz_tez"] + "', '" +
                         rw_det["izlaz_kol"] + "')";
MysqlCommand command = new MysqlCommand(query, connection);
command.Parameters.AddWithValue("?date", time);

这样做应该不会有日期格式问题。我强烈建议使用参数而不是字符串连接,即使对于查询的其他参数也是如此......