Mysql 中的CASE WHEN 用法

在SELECT语句查询中可以使用CASE WHEN对查询出来的结果,进行一个类似于if else的判断。

具体的用法

1.

SELECT a.website_id, b.customer_name, a.website_enddate, c.member_name, d.websitetype_id,
            CASE
                WHEN d.websitetype_id=1 THEN 400
                WHEN d.websitetype_id=2 THEN 400
                WHEN d.websitetype_id=12 THEN 5800
                WHEN d.websitetype_id=13 THEN 5800
                WHEN d.websitetype_id=13 THEN 5800
                END as money

FROM ……

2.

SELECT a.website_id, b.customer_name, a.website_enddate, c.member_name, d.websitetype_id,
            CASE    d.websitetype_id

WHEN 1 THEN 400
                WHEN 2 THEN 400
                WHEN 12 THEN 5800
                WHEN 13 THEN 5800
                WHEN 13 THEN 5800
                END as money

FROM ……

3. 一个简单的IF判断

IF(判断语句,true返回的值,false返回的值)   使用位置和 CASE WHEN 位置一样,语法很简单,有点像php中的三元运算法。

Mysql 中的CASE WHEN 用法

时间: 2024-10-06 00:39:43

Mysql 中的CASE WHEN 用法的相关文章

SQL中的CASE的用法

CASE在SQL语句中,很有点类似java等高级编程语言中的switch这样子的多分枝语句,但是有点不同的是,case后面接的是when,另外,when的后续分枝有点类似if后面接else.这个是我的个人认识,case ..when..then..[else].. 下面,看看MySQL的帮助信息,可以看到case的基本语法结构: 1 topics: #CASE的两种基本用法 2 CASE OPERATOR 3 CASE STATEMENT 4 5 MariaDB [mysql]> help ca

SQLserver中ISNULL函数与Mysql中IFNULL函数的用法

本文介绍下,sql server中的isnull函数,以及mysql中的ifnull函数,介绍二者的具体用法与区别,有兴趣的朋友可以研究下哦. 先来看SQL Serve的ISNULL函数: ISNULL(check_expression,replacement_value) 1.check_expression与replacement_value的数据类型必须一致. 2.如果check_expression为NULL,则返回replacement_value. 3.如果check_express

MYSQL中replace into的用法

今天在编程的时候,学习了replace into的用法,真的很好用,是insert into的增强版.在向表中插入数据时,我们经常会遇到这样的情况:1.首先判断数据是否存在:2.如果不存在,则插入:3.如果存在,则更新. 在SQL Server中可以这样处理: if not exists (select 1 from t where id = 1)    insert into t(id, update_time) values(1, getdate())  else   update t se

MYSQL中replace into的用法以及与inset into的区别

在向表中插入数据时,我们经常会遇到这样的情况:1.首先判断数据是否存在:2.如果不存在,则插入:3.如果存在,则更新. 在SQL Server中可以这样处理: if not exists (select 1 from t where id = 1)? insert into t(id, update_time) values(1, getdate()) else update t set update_time = getdate() where id = 1 那么 MySQL 中如何实现这样的

MySQL中Identifier Case Sensitivity

在MySQL当中,有可能遇到表名大小写敏感的问题.其实这个跟平台(操作系统)有关,也跟系统变量lower_case_table_names有关系.下面总结一下,有兴趣可以查看官方文档"Identifier Case Sensitivity" In MySQL, databases correspond to directories within the data directory. Each table within a database corresponds to at leas

mysql中INSTR函数的用法

INSTR(字段名, 字符串) 这个函数返回字符串在某一个字段的内容中的位置, 没有找到字符串返回0,否则返回位置(从1开始) SELECT * FROM tblTopic ORDER BY INSTR( topicTitle, 'ha' ) > 0 DESC SELECT INSTR( topicTitle, 'ha' ) FROM tblTopic mysql中使用instr配合IN排序 将instr结果作为一列,按其排序 select id,1 from world_guide where

MySql 中Join操作的用法

SQL标准中的Join的类型: 首先,设置表employees和department的数据为: 1.inner join - on操作类型 内连接inner join是基于连接谓词将两张表(如A和B)的列组合在一起的,产生新的结果表. 例子: SELECT * FROM employees a inner join department b ON a.department_id = b.department_id 查询结果为: 注意:inner join 可以简写为join,该查询得出的结果为两

mysql 中find_in_set()和in()用法比较

在mysql中in可以包括指定的数字,而find_in_set()用于特定的数据类型. find_in_set 函数使用方法 个例子来说:有个文章表里面有个type字段,它存储的是文章类型,有 1头条.2推荐.3热点.4图文...1,12,13 等等 .现在有篇文章他既是 头条,又是热点,还是图文,type中以 1,3,4 的格式存储.那我们如何用sql查找所有type中有4图文标准的文章呢??这就要我们的 find_in_set 出马的时候到了.以下为引用的内容: select * from

MySql 中关键字 case when then else end 的用法

解释: 1 SELECT 2 case -------------如果 3 when sex='1' then '男' -------------sex='1',则返回值'男' 4 when sex='2' then '女' -------------sex='2',则返回值'女' 5 else '其他' -------------其他的返回'其他' 6 end -------------结束 7 from sys_user --------整体理解: 在sys_user表中如果sex='1',