原数据库和目标数据库都有一个varchar(20)的column
其中存储的数据类型类似于"2008-10-27 12:00:00"我在java里面将其读取出来
char[][] init_time = new char [datanumber][20];
init_time[index-1] = (rs.getString("init_time")).toCharArray();
s.executeUpdate(
"INSERT INTO emmb (init_time)"
+ " VALUES"
+ "("
+ init_time[i][0] + init_time[i][1] + init_time[i][2] + init_time[i][3] + init_time[i][4] + init_time[i][5]+......
+ ")"
);或者用string方法
String init_time = new char [datanumber][20];
init_time[index-1] = rs.getString("init_time");
s.executeUpdate(
"INSERT INTO emmb (init_time)"
+ " VALUES"
+ "("
+ init_time[index-1]
+ ")"
);但是很奇怪,Mysql总是报错:1064这个错误
测试发现,应该是前面日期和后面时间之间的空格的问题
但是,如果只读取2008-10-27,存入数据库中的是1971(=2008-10-27)不知道这是为什么,期盼解答,谢谢
其中存储的数据类型类似于"2008-10-27 12:00:00"我在java里面将其读取出来
char[][] init_time = new char [datanumber][20];
init_time[index-1] = (rs.getString("init_time")).toCharArray();
s.executeUpdate(
"INSERT INTO emmb (init_time)"
+ " VALUES"
+ "("
+ init_time[i][0] + init_time[i][1] + init_time[i][2] + init_time[i][3] + init_time[i][4] + init_time[i][5]+......
+ ")"
);或者用string方法
String init_time = new char [datanumber][20];
init_time[index-1] = rs.getString("init_time");
s.executeUpdate(
"INSERT INTO emmb (init_time)"
+ " VALUES"
+ "("
+ init_time[index-1]
+ ")"
);但是很奇怪,Mysql总是报错:1064这个错误
测试发现,应该是前面日期和后面时间之间的空格的问题
但是,如果只读取2008-10-27,存入数据库中的是1971(=2008-10-27)不知道这是为什么,期盼解答,谢谢
2008-10-27rtrim
返回截断所有尾随空格后的字符串
ltrim
返回删除前导空格后的字符表达式。
init_time[index-1] = rs.getString("init_time");
s.executeUpdate(
"INSERT INTO emmb (init_time)"
+ " VALUES"
+ "('"
+ init_time[index-1]
+ "')"
);
+ "('"
+ init_time[index-1]
+ "')" 为了说明问题,做一个测试看看:
declare @t table(id int,d varchar(20))insert into @t select 1,2008-09-17
insert into @t select 1,'2008-09-17'
select * from @t/*
id d
----------- --------------------
1 1982
1 2008-09-17(2 行受影响)
*/