MySQL CASE/REPLACE/EXISTS函数使用范例
来源:互联网 发布:知乐全集未删节txt下载 编辑:程序博客网 时间:2024/05/16 06:21
背景:
在用户管理模块中,当Add User以及Update User时,因为对User的权限进行了设置,需要相应的更新User所属公司的权限配置。为了编码简单,所以最后使用了一个比较复杂的SQL来进行实现。
表介绍:
account表——记录公司信息
user_r表——记录公司下的User帐号信息
两张表通过列ACCOUNTNUMBER进行关联
SQL语句:
UPDATE account SET UFK_PERMISSION = REPLACE(REPLACE((CASE WHEN UFK_PERMISSION IS NULL THEN 'E1G1' ELSE UFK_PERMISSION END), 'E0', 'E1'), 'G0', 'G1') WHERE ACCOUNTNUMBER ='" + AccountNumber + "' AND EXISTS(SELECT user_r.* FROM user_r WHERE user_r.ACCOUNTNUMBER=account.ACCOUNTNUMBER AND user_r.TREATISE LIKE '%M1%N1%P1%');
要点说明:
A) CASE WHEN UFK_PERMISSION IS NULL THEN 'E1G1' ELSE UFK_PERMISSION END,类似Java的三元表达式——当UFK_PERMISSION为空时,结果为'E1G1',否则结果就是UFK_PERMISSION的内容。
B) REPLACE函数,三个参数:str1/str2/str3——对于str1,将时其中的str2替换为str3
C) EXISTS函数,判断括号中的子查询是否存在查询记录
以上SQL语句在MySQL中通过测试
- MySQL CASE/REPLACE/EXISTS函数使用范例
- mysql case 函数使用demo
- 使用mysql的replace函数替换字符串
- 使用mysql的replace函数替换字符串
- 使用mysql的replace函数替换字符串
- 使用mysql的replace函数替换字符串
- 使用mysql的replace函数替换字符串
- mysql replace()函数
- mysql replace函数
- mysql的REPLACE函数
- select 中使用 case when 和 replace
- MySQL Replace 的使用
- mysql replace的使用
- mysql replace语句使用
- Mysql replace函数不能使用正则表达式的解决
- mysql中使用REPLACE函数替换字段中部分字符
- Mysql Case 函数 用法
- mysql数据库case函数
- validate验证——struts1
- zend studio 不自动提示,无法按ctrl打开引用的文件!
- 静态成员变量 与 静态成员函数
- Java集合容器总结
- SFP DDM接口的测量值计算
- MySQL CASE/REPLACE/EXISTS函数使用范例
- The Combined Programming of VS2008 and Matlab
- 重写一些ViewStyle的方式
- 进程间通信:比较脸熟的ftok()
- js 知识总结1
- buntu linux下各种格式软件包的安装卸载
- JS前进、后退、刷新、退出
- aaaaaaaaaaaa
- 建站3年仍旧失败 ! 个人站长失败仿佛是必然