sql里录入的时间为 2016-10-03 18:09:01的格式 如何查询年份为2011年的项

吃瓜群众小海绵 发布于 2016/10/21 17:20
阅读 335
收藏 0
sql里录入的时间为 2016-10-03 18:09:01的格式 如何查询年份为2011年的项 ,  最好能在mybatisd标签里写出来谢谢了
加载中
0
longteng556
longteng556

数据库中的时间如果是字符串,使用数据库字符串截取函数截取后再比较,如果是数据库日期类型,用数据库时间格式化函数格式成yyyy在比较。

0
f
fgod
WHERE regTime BETWEEN '2015-01-01' AND '2016-01-01'
f
fgod
回复 @吃瓜群众小海绵 : 数据格式可以在model里处理过后再拿到mybatis里面做查询啊,date类型数据格式化成想要的String格式就可以了
吃瓜群众小海绵
吃瓜群众小海绵
回复 @最爱秋君 : 那要如何只传入年份呢,取过来的数据格式 是年月日时分秒的格式,可以直接在索引上format吗?
胡禹贤
胡禹贤
回复 @吃瓜群众小海绵 : where DATE_FORMAT(regTime,'%Y')=2011,这种方式有个缺点,无法用到索引,所以最好的方式传入参数:年份,在构造sql语句的时候用between的方式,同时拼接日期“-01-01“
吃瓜群众小海绵
吃瓜群众小海绵
但是你从后台取回的时间在mybatis里的表示是#{regTime}这种情况下between and中时间填什么呢{regTime}和{regTime+1}应该不行吧
返回顶部
顶部