• mysql 函数以及操作总结


    1. 拼接 concat(参数1,参数2,.. ,参数)  实现将多个字符串拼接到一起

       要批量修改一个字段值   字段值又是复杂的sql 计算得来   通过查询字段值 和 修改的条件fundId(这是where后面的 条件) 拼接成一个update 语句

       update  table set  字段=查询的值  where 条件字段=查询的条件值

    select CONCAT('update f_fund u set u.nonlocal_proportion=',
     1-IFNULL(
    (((select IFNULL(SUM(t.application_money),0) from f_tax_fee t where t.display_state = 1 and t.fund_id = f.id and t.audit_status = 2)
     +
     ((select IFNULL(SUM(gif.money),0) from f_guide_invest_fund gif where gif.fund_id = f.id and gif.display_state = 1)
     +
      (select IFNULL(SUM(o.money_rmb),0) from f_other_lp o where o.fund_id=f.id and o.display_state = 1 and o.type = 4))*2)
      /
     (
        f.fund_size
        ))
    ,0),
     ' where u.id=','''',f.id,'''',';'
    )
     from f_fund f where f.display_state = 1

    执行SQL后执行结果  如: update f_fund u set u.nonlocal_proportion=-15.0000000000 where u.id='AB6CC2948D8E408A9FD0A2799F7196BB';

    将查询的批量的修改语句执行修改

    在拼接的时候  需要拼接单引号  (') 那么单引号拼接采用的是 ‘‘’’两个双引号才能显示单引号

    2)sum() 函数的使用 我们经常采用sum总统计操作  有时候我们统计的一列字段  某一个是null 那么sum()函数会自动将null忽略到能正确的计算 当所有数值都是null的时候这时候 sum()函数返回的是一个null  那么我们经常会在得到结果的时候讲结果集运算 当java代码经常采用BigDecimal来操作的时候 那么会报异常,除了在java代码中做判断外  我们还会在sql查询结果集进行处理这就用到了3)这个函数

    3)ifnull(参数1,参数2)  参数1使我们查询的结果集  参数2是我们如果查询是null的时候默认给的值  就相当于java if else操作  

         查询常用操作  ifnull(sum(列),0)  这样sum函数结果集是null的时候返回的就是默认0这样返回值就不是null了

    4)isnull() 这个函数是判断列是不是空的  

       

  • 相关阅读:
    表达式目录树(Expression)
    六大设计原则【单一职责】【里氏替换】【 迪米特法则】【依赖倒置原则】【接口隔离原则】【开闭原则】
    lambda,linq
    c#中的特性Attribute
    CentOS7部署Nginx
    NetCore项目的部署
    ABP+NetCore+Vue.js实现增删改查
    Abp数据库迁移注意事项
    MVC分页
    AspNet5 Changes to [Activate] in beta-5
  • 原文地址:https://www.cnblogs.com/lwdmaib/p/10275513.html
Copyright © 2020-2023  润新知