我必须相对于两个表之间的相同时间来扼杀结果,但是时间戳因为它们的记录方式而有所不同.我想获得类似于示例1的结果,但我只获得带星号的值,如示例2所示.从比较中删除secods或选择与最接近的DATETIME值对应的值的最佳方法是什么?
目前我正在使用此查询:
SELECT Table1.TimeSTamp1, Table1.Param1, Table2.TimeStamp2, Table2.Param2
FROM Table1, Table2
WHERE ... conditions for the other parameters of Table1 and Table2...
AND Table1.TimeSTamp1 = Table2.TimeStamp2
Run Code Online (Sandbox Code Playgroud)
我们热烈欢迎任何有关最佳做法的建议.
例1
TimeStamp1 ¦ Param1 ¦ TimeStamp2 ¦ Param2
2011-01-01 00:00:35 ¦ 1 ¦ 2011-01-01 00:00:35 ¦ a *
2011-01-01 00:01:35 ¦ 2 ¦ 2011-01-01 00:01:35 ¦ b
2011-01-01 00:02:37 ¦ 3 ¦ 2011-01-01 00:02:35 ¦ c
2011-01-01 00:03:31 ¦ 4 ¦ 2011-01-01 00:03:35 ¦ d
2011-01-01 00:04:32 ¦ 5 ¦ …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用JDBC更新值,并且我继续为不同的表和不同的模式获得相同的错误.
假设我有一张这样的桌子
+----------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+-------+
| field1 | varchar(50) | YES | | NULL | |
| field2 | varchar(50) | YES | | NULL | |
+----------------+-------------+------+-----+---------+-------+
Run Code Online (Sandbox Code Playgroud)
然后,我尝试添加一行:
String Text1 = text1;
String Text2 = text2;
String Query_String = "INSERT INTO tablename(field1,field2) VALUES ('"+Text1+","+Text2+"')";
Query_Statement.executeUpdate(Query_String);
Run Code Online (Sandbox Code Playgroud)
列数是相同的,并且在文本中没有其他逗号,但我继续得到错误"java.sql.SQLException:列计数与第1行的值计数不匹配"
我确信它很简单,可能是因为我设法让它与单列一起使用...
提前致谢