資料庫工作筆記004---mysql對結果欄位進行判斷的函式_Case when等
阿新 • • 發佈:2018-12-11
結果1:
結果2
結果3
結果4
事前準備:例項用的表結構和資料 /* Navicat MySQL Data Transfer Source Server : work Source Server Version : 50616 Source Host : localhost:3306 Source Database : souvc Target Server Type : MYSQL Target Server Version : 50616 File Encoding : 65001 Date: 2018-03-08 18:19:18 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for user -- ---------------------------- DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(11) NOT NULL, `name` varchar(255) DEFAULT NULL, `state` tinyint(4) DEFAULT NULL,-- 1:有效;2:無效 `type` tinyint(4) DEFAULT NULL,-- 1:普通員工;2:中層員工;3:高層員工 PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of user -- ---------------------------- INSERT INTO `user` VALUES ('1', '張三', '1', '1'); INSERT INTO `user` VALUES ('2', '李四', '1', '2'); INSERT INTO `user` VALUES ('3', '王五', '2', '3'); INSERT INTO `user` VALUES ('4', '趙六', '2', '2'); 一、case when 函式 語法1: CASE fieldname WHEN value1 THEN result1 WHEN value2 THEN result2 WHEN value3 THEN result3 …… ELSE defaultresult END 例項1: [sql] view plain copy <code class="language-sql">SELECT `id` '使用者ID', `name` '使用者名稱稱', ( CASE `state` WHEN 1 THEN '正常' WHEN 2 THEN '不正常' ELSE NULL END ) '使用者狀態' FROM `user`</code> 結果1: 語法2: CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 WHEN condition3 THEN result3 …… ELSE defaultresult END 例項2: SELECT `id` '使用者ID', `name` '使用者名稱稱', ( CASE WHEN `state`=1 THEN '正常' WHEN `state`=2 THEN '不正常' ELSE NULL END ) '使用者狀態' FROM `user` 結果2 二、if函式 case when 函式處理複雜邏輯判斷比較常用,如果只是處理一次判斷,更簡單的方式是IF函式 語法: IF(condition,result1,result2) 例項: SELECT `id` '使用者ID', `name` '使用者名稱稱', IF(state=1,'正常','不正常') '使用者狀態' FROM `user` 結果: 三、elt函式 語法: ELT(condition,result1,result2,result3,...) 注意:condition的值必須是順序1、2、3、...才會對應結果result1、result2、result3、... 例項: SELECT `id` '使用者ID', `name` '使用者名稱稱', `type`, ELT(type,'普通員工','中層員工','高層員工') '使用者型別' FROM `user`; 結果: --------------------- 本文來自 yaofangshou 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/yaofangshou/article/details/79488023?utm_source=copy