美文网首页我爱编程
mysql: 控制语句

mysql: 控制语句

作者: 一个有想法的人 | 来源:发表于2018-04-07 15:00 被阅读0次

IF 语句

格式: IF(condition, trueResult, falseResult)

示例1:

select id, name, if(gender='m', '男', if(gender='f', '女', '匿')) gender, age from user;

结果:

| id | name | gender| age  |
+----+-----+-------+------+
|  1 | 张杉 | 男    |   25 |
|  2 | 李思 | 女    |   20 |
|  3 | 王伍 | 男    |   29 |
|  4 | 赵琉 | 女    |   18 |
|  5 | 钱颀 | 匿    |   21 |

示例2:

select id, name, if(gender is NULL,'匿', gender) gender, age from user;

结果:

| id | name   | gender | age  |
+----+--------+--------+------+
|  1 | 张杉    | m      |   25 |
|  2 | 李思    | f      |   20 |
|  3 | 王伍    | m      |   29 |
|  4 | 赵琉    | f      |   18 |
|  5 | 钱颀    | 匿     |   21 |

示例3:

select if(100%0 is null, -1, 0);

结果:

-1

IFNULL

格式: IFNULL( expr1, expr2)

含义: 若表达式expr1为NULL, 则返回expr2的值, 否则返回expr1的值

它其实是翻版的if语句,翻译后的if语句应该是:if(expr1 is null, expr2, expr1)

示例1:

select ifnull(1, 0);        // 1
select ifnull(0, 1);        // 0
select ifnull(100%0, 0);    // 0

CASE - WHEN - THEN- END

格式: CASE field WHEN a THEN aResult WHEN b THEN bResult .... [ELSE otherResult] END

示例1:

select id, name, (case gender when 'm' then '男' when 'f' then '女' else '匿' end) gender, age from user;

结果:

| id | name   | gender | age  |
+----+--------+--------+------+
|  1 | 张杉 | 男    |   25 |
|  2 | 李思 | 女    |   20 |
|  3 | 王伍 | 男    |   29 |
|  4 | 赵琉 | 女    |   18 |
|  5 | 钱颀 | 匿    |   21 |

附1: 练习SQL语句

CREATE TABLE `user` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(20) DEFAULT NULL,
  `gender` varchar(20) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


INSERT INTO `user` (`id`, `name`, `gender`, `age`)
VALUES
    (1,'张杉','m',25),
    (2,'李思','f',20),
    (3,'王伍','m',29),
    (4,'赵琉','f',18),
    (5,'钱颀',NULL,21);

附2:控制台输出中文乱码解决方案:

show variables like 'character_set%';

set character_set_client=utf8; 
set character_set_connection=utf8;
set character_set_results=utf8
set character_set_server=utf8

相关文章

  • mysql: 控制语句

    IF 语句 格式: IF(condition, trueResult, falseResult) 示例1: 结果...

  • SQL存储过程和函数(2)

    存储过程和函数中可以使用流程控制来控制语句的执行。MySQL中可以使用IF语句、CASE语句、LOOP语句、LEA...

  • mysql之流程控制语句

    1、流程控制语句 MYSQL的流程控制语句也只能用于存储过程,主要有3类: 跳转语句:ITERATE和LEAVE语...

  • Mysql事务控制语句

    介绍 Mysql的Innodb存储引擎默认事务都是自动提交(隐式提交);查看当前的事务是否自动提交: 事务操作 开...

  • MYSQL事务

    常用语句 MYSQL事务,锁表 事务控制语句 事务的隔离级别 隔离级别描述产生风险READUNCOMMITTED ...

  • php操作mysql语句

    mysql语句 php操作mysql语句

  • 2018-03-20

    MYSQL查询语句 MYSQL复杂操作语句 MYSQL多表查询方法 函数部分

  • 「JS」语句

    条件控制语句 循环控制语句 for-in 异常处理语句 with语句 条件控制语句 其中expression可以使...

  • BigData-MySQL总结大全(一)苏暖人

    BigData之MySQL总结大全 MYSQL常用的基本语句 MYSQL常用的基本语句 例:SELECT TOP ...

  • 20170824 Shell编程进阶(一)

    选择执行:if语句条件判断:case语句循环控制:for语句循环控制:while语句和until语句循环控制:co...

网友评论

    本文标题:mysql: 控制语句

    本文链接:https://www.haomeiwen.com/subject/xrlyhftx.html