sql(mysql 数据库):
time 函数:
select time(“2022-02-21 13:55:25”);
查询 所有天的时间端 :11:30:00 -19:30:00 的数据
如下:
String date1=‘2022-03-01 11:30:00’;// 年月日随便填
String date2=‘2022-03-01 19:30:00’;// 年月日随便填
Expression timeStr = builder.function(“TIME”, Date.class, root.get(“operationTime”));
Expression timeStr1 = builder.function(“TIME”, Date.class,builder.literal(date1));
Expression timeStr2 = builder.function(“TIME”, Date.class,builder.literal(date2));
Predicate predicate2 = builder.greaterThanOrEqualTo(timeStr, timeStr1);
Predicate predicate3 = builder.lessThanOrEqualTo(timeStr, timeStr2 );
predicate.getExpressions().add(predicate2);
对应的sql:
select * from xx where TIME(operationTime) >‘11:30:00’ and TIME(operationTime) <‘19:30:00’;