好用的 sql 内置函数

在 mapper 中写 sql 的时候,可以用到的 sql 内置函数:

1. now()

对于 insert , "create_time" 的值改为 "now()","update_time" 的值改为 "now()";

对于 update , "update_time" 的值改为 "now()"。

<update id="checkedOrUncheckedProduct" parameterType="map">
    update immall_cart
    set checked = #{checked},
    update_time = now()
    where user_id = #{userId}
    <if test="productId != null">
        and product_id = #{productId}
    </if>
</update>

update 语句,set 多个参数的时候,记得要用 "," 分隔,否则语句错误。

 

2. IFNULL()

<select id="selectCartProductCount" resultType="int" parameterType="int">
    select IFNULL(sum(quantity),0) as count
    from immall_cart
    where user_id = #{userId}
</select>

如果 sum 为 null,是不可以传给基本类型 int 的;如果更改返回值类型 int 为 Integer 则又会在 service层报错。怎么办呢?

我们当时是不希望发生报错的啊,利用 IFNULL()函数,赋予一个默认值0,当 sum(quantity) 为 null 时,返回默认值。这样就解决了。

 

 

转载于:https://my.oschina.net/u/2602876/blog/2050275

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值