mysql 常用函数使用

<if test="param.checkTime != null and param.checkTime != ''">
	and  year(t2.checkout_time) = #{param.checkTime}
</if>

year()函数接收date类型,返回一个年份。还有month()函数,一个用法


mysql> SELECT YEAR('2018-01-01');
+--------------------+
| YEAR('2018-01-01') |
+--------------------+
|               2018 |
+--------------------+
1 row in set
大于。小于的,  需要转义。
<if test="param.checkAge0 != null and param.checkAge0 != ''">
	and t2.age &gt;= #{param.checkAge0}
</if>
<if test="param.checkAge1 != null and param.checkAge1 != ''">
	and t2.age &lt;= #{param.checkAge1}
</if>

或者使用    大于等于<![CDATA[ >= ]]> 小于等于<![CDATA[ <= ]]>

create_time <![CDATA[ >= ]]> #{startTime} and  create_time <![CDATA[ <= ]]> #{endTime}

日期类型格式化

<if test="param.today != null and param.today != ''">
	AND date_format(t1.createtime,'%Y-%m-%d') = #{param.today}
</if>

类型转换

Cast()函数就能搞定。其语法为:Cast(字段名 as 转换的类型 ),其中类型可以为:

CHAR[(N)] 字符型 
DATE  日期型
DATETIME  日期和时间型
DECIMAL  float型
SIGNED  int

TIME  时间型

UNSIGNED 浮点数

AND (concat(t1.result,'.00') &gt;= #{param.startValue} 
			<if test="param.startIntValue != null and param.startIntValue != ''">
			or CAST(t1.result AS UNSIGNED)  &gt; #{param.startIntValue}
            </if>

字符串 拼接CONCAT(), 前端传来参数 year=2018年。

<if test="checkTime != null and checkTime != ''">
	and CONCAT(year(a.check_time),'年') = #{year}
</if>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值