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