如何在Mybatis中的select sql中连接数字类型? [英] How to concat a number type in a select sql in Mybatis?

查看:245
本文介绍了如何在Mybatis中的select sql中连接数字类型?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想根据搜索号参数选择一个结果,例如,如果我传递7,我希望sql语句像select * from student其中DATE_SUB(CURDATE(),INTERVAL 7 DAY)< = date( CREATETIME),现在在Mybatis中,我尝试这样编写,并将$ {pd.intervalDay}更改为#{pd.intervalDay},但这是错误的。如何更改它?



<! - pd是hasmap类型 - >

< select id =selectstudentresultparameterType =pageresultType =pd>

从学生中选择*

< where>

< if test =pd.intervalDay!= null>

和DATE_SUB(CURDATE(),INTERVAL $ {pd.intervalDay} DAY)< = date(a.UPDATETIME)


I want to select a result according to the search number parameter,for example, if I pass 7, I want the sql statement like select * from student where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(CREATETIME),Now in Mybatis,I try to write like this,and also change ${pd.intervalDay} to #{pd.intervalDay},but it is wrong.How to change it?

<!-- pd is hasmap type -->
<select id="selectstudentresult" parameterType="page" resultType="pd">
select * from student
<where>
<if test="pd.intervalDay!=null">
and DATE_SUB(CURDATE(), INTERVAL ${pd.intervalDay} DAY) <= date(a.UPDATETIME)

推荐答案

{pd.intervalDay}到#{pd.intervalDay},但它是错的。怎么改变它?



<! - pd是hasmap类型 - >

< select id = selectstudentresultparameterType =pageresultType =pd>

select * from student

< where>

< if test =pd.intervalDay!= null>

和DATE_SUB(CURDATE(),INTERVAL
{pd.intervalDay} to #{pd.intervalDay},but it is wrong.How to change it?

<!-- pd is hasmap type -->
<select id="selectstudentresult" parameterType="page" resultType="pd">
select * from student
<where>
<if test="pd.intervalDay!=null">
and DATE_SUB(CURDATE(), INTERVAL


{pd.intervalDay} DAY)< = date(a.UPDATETIME)


{pd.intervalDay} DAY) <= date(a.UPDATETIME)


尝试使用DATEDIFF:

DATEDIFF(CURDATE(),CREATETIME)< = 7
Try to use DATEDIFF instead:
DATEDIFF(CURDATE(), CREATETIME) <= 7


这篇关于如何在Mybatis中的select sql中连接数字类型?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆