case when then else end 相当于Java的if-else if-else,可以用来在select语句中将要显示的内容替换成另一个内容

更多用法:https://www.cnblogs.com/aipan/p/7770611.html

用法1:

case

  字段名

when

  条件

then

  显示为什么

else

  条件

end

例子1:

 

  1. select
  2. (case
  3.  
  4.   sex
  5.  
  6. when
  7.  
  8.   ''
  9.  
  10. then
  11.  
  12.   '男'
  13.  
  14. else
  15.  
  16.    '女'
  17.  
  18. end) as sex
  19. from
  20.   student

用法2:

case

when 条件 then 显示为什么

else 条件

end

例子2:

  1. select
  2. (case 
  3. when
  4.  
  5.   sex=''
  6.  
  7. then
  8.  
  9.   '男'
  10.  
  11. else
  12.  
  13.    '女'
  14.  
  15. end) as sex
  16. from
  17.   student

IFNULL()函数

IFNULL(字段名,将要转换成什么)

  1. select
  2. if(score,0)
  3. from
  4. result

in 和not in

in、not in运算符,表示包含的集合,一般用于子查询的

  1.  
  1. #只需要年龄为18,20,21的同学的成绩
  1. select
  2. stu.id,
  3. stuName,
  4. score,
  5. age
  6. from
  7. student as stu,
  8. result as r
  9. where
  10. stu.id=r.stuId
  11. age in(18,20,21)
  1. #不显示年龄为18岁的学生
  2. select
  3. id,
  4. name
  5. from
  6. student
  7. where
  8. id NOT IN(select id from age=18)

将date日期类型转换成varchar类型(DATE_FORMAT(字段名,格式))

  1. SELECT
  2. DATE_FORMAT(DATE,'%Y-%m-%d') AS Date
  3. FROM
  4. test

将varchar类型转换成date类型(STR_TO_DATE(字段名,格式))

  1. SELECT
  2. STR_TO_DATE(DATE,"%Y%m%d") AS DATE
  3. FROM
  4. test

varchar和date相互转换的格式参数

格式 描述
%a 缩写星期名
%b 缩写月名
%c 月,数值
%D 带有英文前缀的月中的天
%d 月的天,数值(00-31)
%e 月的天,数值(0-31)
%f 微秒
%H 小时 (00-23)
%h 小时 (01-12)
%I 小时 (01-12)
%i 分钟,数值(00-59)
%j 年的天 (001-366)
%k 小时 (0-23)
%l 小时 (1-12)
%M 月名
%m 月,数值(00-12)
%p AM 或 PM
%r 时间,12-小时(hh:mm:ss AM 或 PM)
%S 秒(00-59)
%s 秒(00-59)
%T 时间, 24-小时 (hh:mm:ss)
%U 周 (00-53) 星期日是一周的第一天
%u 周 (00-53) 星期一是一周的第一天
%V 周 (01-53) 星期日是一周的第一天,与 %X 使用
%v 周 (01-53) 星期一是一周的第一天,与 %x 使用
%W 星期名
%w 周的天 (0=星期日, 6=星期六)
%X 年,其中的星期日是周的第一天,4 位,与 %V 使用
%x 年,其中的星期一是周的第一天,4 位,与 %v 使用
%Y 年,4 位
%y 年,2 位

将查询结果复制到一张新表(create table)或者插入到已创建的新表(insert into)中

  1. #复制到新表中
  2. CREATE TABLE
  3. new_table
  4. SELECT
  5. id,
  6. name
  7. FROM
  8. test
  9.  
  10. #复制到已创建的新表中
  11.  
  12. INSERT INTO
  13. b_table(id,name)
  14. SELECT
  15. id,
  16. name
  17. FROM
  18. c_table

MySQL (case when then else end)和常用函数用法的更多相关文章

  1. C++中string常用函数用法总结

    string(s小写)是C++标准库中的类,纯C中没有,使用时需要包含头文件#include<string>,注意不是<string.h>,下面记录一下string中比较常用的 ...

  2. MySql cmd下的学习笔记 —— 有关常用函数的介绍(数学函数,聚合函数等等)

    (一)数学函数 abs(x)              返回x的绝对值 bin(x)               返回x的二进制(oct返回八进制,hex返回十六进制) ceiling(x)      ...

  3. 字符串函数 mysql 和sqlserver 中对于字符串的常用函数和区别

    1. 对于字符串大小写的统一 mysql和sqlserver中都有同名函数lower()和upper(),但是mysql中还有另外一对函数,达到同样的目的,lcase()和ucase(),也就是英文中 ...

  4. C++STL 常用 函数 用法

    学完c++快一年了,感觉很有遗憾,因为一直没有感觉到c++的强大之处,当时最大的感觉就是这个东西的输入输出比C语言要简单好写. 后来我发现了qt,opencv,opengl,原来,c++好玩的狠. 在 ...

  5. MySQL中的isnull、ifnull和nullif函数用法

    isnull(expr) 如expr为null,那么isnull()的返回值为1,否则返回值为0. mysql>select isnull(1+1); ->0 mysql>selec ...

  6. C++中的string常用函数用法

    标准c++中string类函数介绍   注意不是CString 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而 ...

  7. C++STL 常用 函数 用法(转)

    http://www.cnblogs.com/duoduo369/archive/2012/04/12/2439118.html 迭代器(iterator) 个人理解就是把所有和迭代有关的东西给抽象出 ...

  8. c++中的string常用函数用法总结!

    标准c++中string类函数介绍 注意不是CString 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而且作 ...

  9. [转]c++中的string常用函数用法总结

    标准c++中string类函数介绍 注意不是CString之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而且作为 ...

随机推荐

  1. Machine Learning No.11: Recommender System

    1. Content based Problem formulation Content Based Recommendations: 2. collaborative filtering algor ...

  2. American Heritage usaco

    基础题,主要思路是找到根,然后分别递归即可: #include<iostream> #include<cstring> #include<string> #incl ...

  3. make update-api

    1)  添加系统API或者修改@hide的API后,需要执行 make update-api,然后再make 2) 修改公共api后,需要 make update-api 比较framework/ba ...

  4. 玩转Google开源C++单元测试框架Google Test系列(gtest)(总)

    原文地址:http://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html 前段时间学习和了解了下Google的开源C++单元测试框架Goo ...

  5. interceptors

    <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <bean ...

  6. 无法定位程序输入点glPopAttrib于动态连结库OPENGL.dll上

    已经下载glut.lib glut32.lib glut.h glut.dll glut32.dll并放到了相应的文件夹中运行程序时还提示说缺少opengl.dll,我又下载了一个opengl.dll ...

  7. 无言以队Alpha阶段项目复审

    小组的名字和链接 优点 缺点,bug报告 (至少140字) 最终名次 (无并列) 甜美女孩 http://www.cnblogs.com/serendipity-zeng/p/9937832.html ...

  8. win7 jenkins 修改主目录

    1.安装tomcat 2.下载Jenkins.war包,把Jenkins.war放在D:\01Install\tomcat\webapps目录下,启动tomcat

  9. jQuery圆形统计图(百分比)转 作者:月光光

    今天我给大家介绍一款圆形统计图circliful,它基于HTML5的画布和jQuery,无需使用图像轻松实现圆形统计图,而且有很多属性设置,使用起来非常方便. 如何使用circliful 将jquer ...

  10. 描述怎样通过flask+redis+sqlalchemy等工具,开发restful api

    flask开发restful api系列(8)-再谈项目结构 摘要: 进一步介绍flask的项目结构,使整个项目结构一目了然.阅读全文 posted @ 2016-06-06 13:54 月儿弯弯02 ...