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() 这个函数是判断列是不是空的
最新文章
- Mongoose学习参考文档——基础篇
- web安全——系统(Linux)
- CI 目录下放置index.html,防止直接访问
- RTC搭建android下三层应用程序访问服务器MsSql-服务器端
- angularjs执行流程
- java 持有对象
- C#Session丢失问题的解决办法
- 常用API。
- Android RecycleView多种布局实现(工厂模式)
- 搭建Google镜像网站
- 2018-6-25-随笔-MVC
- shell脚本学习-变量
- MySQL存储写入速度慢分析
- postgresql主从配置
- CentOS 7搭建KVM在线管理面板WebVirtMgr之使用SSH授权登录
- 【1】python-正则表达式语法规范与案例
- P1063 能量项链
- Linux学习笔记(第七章)
- 简单桶排序算法-python实现
- 微信WeUI入门2