mysql datetime
类型与java.util.Date
类型的值如何比较?
比如:
java.util.Date now = new Date();
select from table where create_time > now;
// create_time 是 date或者datetime或者timestamp类型
这样的sql
字符串应该怎拼写?用什么mysql
的函数?
mysql datetime
类型与java.util.Date
类型的值如何比较?
比如:
java.util.Date now = new Date();
select from table where create_time > now;
// create_time 是 date或者datetime或者timestamp类型
这样的sql
字符串应该怎拼写?用什么mysql
的函数?
手动JDBC
拼装SQL
的话:
select booking_time from me_orders where booking_time > '2016-11-19 09:29:11';
我试了下2016/11/19 09:29:11
和20161119092911
貌似也可以,但还是建议表中形式是什么,你就用什么。
可以将Date转换为String,再用>比较,如下
String sql = "SELECT * FROM todo WHERE create_date > ? ";
PreparedStatement preStat = connection.prepareStatement(sql);
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
preStat.setString(1, sdf.format(date));
ResultSet rs = preStat.executeQuery();
如果你是MyBatis框架,因为有TypeHandler
的存在,Date
类型可以直接写
select booking_time from me_orders where booking_time > #{param1,jdbcType=TIMESTAMP}
如果是字符串类型,你需要两边的日期格式一致,在Java层面格式化就可以
select booking_time from me_orders where booking_time > #{param1,jdbcType=VARCHAR}
8 回答6.8k 阅读
4 回答1k 阅读✓ 已解决
5 回答1.7k 阅读
1 回答2.5k 阅读✓ 已解决
8 回答1.1k 阅读
4 回答550 阅读✓ 已解决
3 回答939 阅读✓ 已解决
传入日期字符串直接等值判断