从 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")"
所以帮忙!!
您可以将日期时间字段解析为 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);
这样做应该不会有日期格式问题。我强烈建议使用参数而不是字符串连接,即使对于查询的其他参数也是如此......