SQL IF语句实际应用--返回输出

SQL IF语句输出

SQL IF语句我们有时会用到用到这个通常是对某个属性进行判断操作,类似我们编程那种三元表达式一样,但有时候业务上不会让你去简简单单去判断操作,还会让你把结果返回过去,通过接口展示出去在前端,你写一个带有if的查询结果你会发现根你之前定义的viewModel对应的属性名字对不上,对不上肯定不会输出。所以大概说一下实际怎么用if语句。

IF 语句了解

IF(expr1,expr2,expr3)

举个栗子:

IF(id IS NULL,'ID为空','ID不为空')

有点像我们写代码那种三元式 expr1?expr1: expr2,判断一下第一个如果行第二个走起,否则就进入第三个(这个也算代码风格优化的一种,记得面试有一家的题类似要表现折一个),这个也是符合一走二,不符合走三。
java三元表达式

int c= a>b?1:0;

输出IF语句结果

我遇到的问题是,搜索出用户信息,其中用户电话(注册时填的)如果为空,则取用户办业务绑定的电话。
问题一,怎么把结果输出
语句好写,怎么用是一个,我最开始把他跟mybatis标签搞混了,这个东西,你要知道mybatis这个if标签只能校验你输入的参数,可以这样写。

SELECT
        uvr.id,
        uvr.user_id,
        uvr.target_type,
        uvr.target_id,
        IF(ui.phone IS NULL,ui.credit_phone,ui.phone) phone,
        uvr.create_time,
        temp.`goods_name`,
        temp.head_img_url
        FROM
        user_view_record
        uvr
            INNER JOIN goods temp ON uvr.target_id = temp.id
            LEFT JOIN user_info ui ON uvr.user_id = ui.id
        ORDER BY
        create_time DESC

问题二,输出的结果对应的上model属性
然而你输出的是这么一个东西,看图:
在这里插入图片描述
你要对应model里面的属性的name,你这个东西name对应的是红框那个,肯定接收不了,怎么办呢,在后面加上对应model的属性名就好了可以返回对应的结果,类似这个:
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值