0329 MySQL
===
###### tags: `MySQL`
## CASE 語法
### 列舉式
CASE expr
when v1 then r1
when v2 then r2
....
ELSE r
END
### 條件式
CASE
when condition1 then r1
when condition2 then r2
....
ELSE r
END
## 字串資料
### 實數
1.DECIMAL(M,D)
2.NUMERIC(M,D)
總長度(M)=整數+小數(D) ,**預設值為10
## 函數
### 字串函數
CONCAT(str1,str2...) 字串連接
LENGTH(str) 字串長度
SUBSTRING (str,pos,len) 截取字串部分字元
REPEAT (str,count) 將指定字串重複,指定次數
STRCMP(expr1,expr2) 比較兩個字串大小
INSTR('String',1,3)=str
LPAD(sal,10,'*')=******5000
TRIM('S'FORM'SSMITH')=MITH
### 數值函數
ROUND(X,D)=四捨五入
MOD(N,M)=求餘數
CEIL(X)=傳回不小於x的最小整數值
FLOOR(X)=傳回不大於x的最大整數值
SQRT(X)=平方根
## 函數2
### 日期時間函數
CURDATE() 現在日期
CURTIME() 現在時間
NOW() 現在日期與時間
### 傳回日期時間部分資料的函數
YEAR(date) 指定日期的年份
MONTH(date)指定日期的月份
DAY(date) 指定日期的日份
EXTRACT(type FROM date) 傳回指定日期單位
WEEKDAY(date) 傳回星期索引(0,一,6,日)
### 修改/計算日期和時間的函數
DATEDIFF(expr1,expr2) 兩個日期相減
ADDDATE (date,INTERVAL expr type) 日期加法 INTERVAL 為必須值
SUBDATE (date,INTERVAL expr type) 日期減法 同上
ADDTIME (expr1,expr2) 時間加法
SUBTIME(expr1,expr2) 時間減法
### 轉換日期時間與字串的函數
DATE(expr) 將字串轉成日期
LAST_DAY(date) 指定日期月份的最後一天
#### DATE_FORMAT(date,format)
ex:date_format(curdate(),'%D,%M,%Y')
以2022/03/29為例 =29th,MARCH,2022
## 通用函數
### IFNULL()Function
IFNULL(EXPR1,EXPR2)
如果 EXPR1是NULL則顯示EXPR2
若EXPR1不是NULL 則顯示EXPR1
EXPR1可指定參數 顯示EXPR2的形式
### NULLIF()Function
NULLIF(expr1,expr2)
If
expr1=expr2
then
return null
else
return expr1
## 彙總函數
### COUNT(STAR)
## Notes
補充:


## Join


