case when then else end 至关于Java的if-else if-else,能够用来在select语句中将要显示的内容替换成另外一个内容html
更多用法:https://www.cnblogs.com/aipan/p/7770611.htmlsql
用法1:函数
casespa
字段名code
whenhtm
条件blog
thenip
显示为何table
elseclass
条件
end
例子1:
select (case sex when '1' then '男' else '女' end) as sex from student
用法2:
case
when 条件 then 显示为何
else 条件
end
例子2:
select (case when sex='1' then '男' else '女' end) as sex from student
IFNULL()函数
IFNULL(字段名,将要转换成什么)
select if(score,0) from result
in 和not in
in、not in运算符,表示包含的集合,通常用于子查询的
#只须要年龄为18,20,21的同窗的成绩
select stu.id, stuName, score, age from student as stu, result as r where stu.id=r.stuId age in(18,20,21)
#不显示年龄为18岁的学生 select id, name from student where id NOT IN(select id from age=18)
将date日期类型转换成varchar类型(DATE_FORMAT(字段名,格式))
SELECT DATE_FORMAT(DATE,'%Y-%m-%d') AS Date FROM test
将varchar类型转换成date类型(STR_TO_DATE(字段名,格式))
SELECT STR_TO_DATE(DATE,"%Y%m%d") AS DATE FROM 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)中
#复制到新表中 CREATE TABLE new_table SELECT id, name FROM test #复制到已建立的新表中 INSERT INTO b_table(id,name) SELECT id, name FROM c_table