MySQL使用判断

1.case语法

在第一个方案的返回结果中, value=compare-value。而第二个方案的返回结果是第一种情况的真实结果。如果没有匹配的结果值,则返回结果为ELSE后的结果,如果没有ELSE 部分,则返回值为 NULL。

MySQL> SELECT CASE 1 WHEN 1 THEN one

        -> WHEN 2 THEN two ELSE more END;

        -> one

mysql> SELECT CASE WHEN 1>0 THEN true ELSE false END;

        -> true

mysql> SELECT CASE BINARY B

        -> WHEN a THEN 1 WHEN b THEN 2 END;

        -> NULL

2.if语法

IF(exPR1,expr2,expr3)  如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。

mysql> SELECT IF(1>2,2,3);

        -> 3

mysql> SELECT IF(1<2,yes ,no);

        -> yes
-- strcmp 比较两字符串

mysql> SELECT IF(STRCMP(test,test1),no,yes);

        -> no

如果expr2 或expr3中只有一个明确是 NULL,则IF() 函数的结果类型 为非NULL表达式的结果类型。

expr1 作为一个值进行计算时,非null为true。

mysql> SELECT IF(null,1,0);

        -> 0

mysql> SELECT IF(0.1<>0,1,0);

        -> 1

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏DT乱“码”

Oracle存储过程基本语法介绍

Oracle存储过程基本语法 存储过程    1 CREATE OR REPLACE PROCEDURE 存储过程名    2 IS    3 BEGIN...

3265
来自专栏PHP在线

mysql中case when用法

mysql中case when语句的使用方法: mysql中也有像php语言中switch case 这样的语句。 例如,下面的语句显示中文年月 sele...

4125
来自专栏我的博客

Mysql各自段类型取值范围

各种字段类型的取值范围。 TINYINT -128 – 127 TINYINT UNSIGNED 0 – 255 SMALLINT -32768 –...

2967
来自专栏Java 源码分析

数据库Exists关键字举例

一.问题描述: 查询所有未选择03号课程的学生的姓名 规定使用存在量词 student表: ? grade表: ? 二.思路: 既然是存在量词那么也就是E...

2946
来自专栏个人随笔

MySQL常用函数

聚合函数  统计和分析 数据  使用场景:会和分组结合使用 -- 一旦启用分组,只能获取组的信息,组中成员不能出现在select后 count() 查询某个字...

3447
来自专栏运维技术迷

MySQL数据库(八):表记录的基本操作(增删改查)

一、增 insert:增加(条件一条新纪录,默认新添加的记录都添加在已有记录的末尾) 1.格式: 1.1添加新纪录时,只给记录中的某几个字段赋值 inser...

59711
来自专栏一个爱吃西瓜的程序员

学习SQL【8】-谓词和CASE表达式

谓词 什么是谓词 谓词就是返回值为真值的函数。对于通常的函数来说,返回值有可能是数字、字符串和日期等,但是谓词的返回值全部是真值。这也是谓词和函数的最大区别。 ...

3206
来自专栏james大数据架构

你真的会玩SQL吗?透视转换的艺术

你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接、外连接 你真的会玩SQL吗?三范式、数据完整性 你真...

2256
来自专栏GIS讲堂

判断是否是数字类

1032
来自专栏java达人

有哪些常用的sql语句

首行当然是最基本的增删查改啦,其中最重要的是查。 还有就是一些要注意的地方,就是SQL语句对大小写不敏感,语句中列名对应的值要用单引号''括起来不是双引号。...

19110

扫码关注云+社区