MySQL學(xué)習(xí)筆記(3)
運算符
類型:算術(shù)、比較、邏輯和位運算符
運算符 |
注解 |
+ |
加法 |
- |
減法 |
* |
乘法 |
/ |
除法,除數(shù)為0,返回結(jié)果NULL |
% |
取商 |
運算符 |
注解 |
= |
等于,不能用于NULL比較 |
<>或!= |
不等于,不能用于NULL比較 |
<=> |
NULL安全的等于,可用于NULL比較 |
< |
<= |
> |
>= |
BETWEEN |
存在于指定范圍(>= and <=) |
IN |
存在于指定集合 |
IS NULL |
IS NOT NULL |
LIKE |
模糊匹配(“*”匹配一個,“%”匹配多個) |
REGEXP或RLIKE |
正則匹配,用法類似于LIKE |
比較運算符可比較數(shù)字、字符串和表達(dá)式。數(shù)字作浮點數(shù)比較,字符串以不區(qū)分大小寫的方式比較。
運算符 |
注解 |
NOT ! |
非,但NOT NULL返回值為NULL |
AND && |
與 |
OR |
|
|
或 |
XOR |
異或 |
運算符 |
注解 |
& |
位于 |
|
位或 |
^ |
位亦或 |
~ |
位取反(~1) |
>> |
位右移 |
<< |
位左移 |
常用函數(shù)
函數(shù) |
功能 |
CONCAT(S1,S2,...Sn) |
連接S1,S2,...Sn字符串,于NULL連接返回NULL |
INSERT(str,x,y,instr) |
將字符串str從第x位置開始,y個字符長的字符串替換為字符串instr |
LOWER(str) |
轉(zhuǎn)為小寫 |
UPPER(str) |
轉(zhuǎn)為大寫 |
LEFT(str,x) |
返回str最左邊的x個字符,第二個參數(shù)為NULL將不返回任何字符串 |
RIGHT(str,x) |
最右邊x個字符 |
LPAD(str,n,pad) |
用字符串pad對str最左邊進(jìn)行填充,知道長度為n個字符 |
RPAD(str,n,pad) |
對str最右邊 |
LTRIM(str) |
去掉字符串str左側(cè)空格 |
RTRIM(str) |
去掉右側(cè)空格 |
REPEAT(str,x) |
返回str重復(fù)x次結(jié)果 |
REPLACE(str,a,b) |
用b替換str中所有出現(xiàn)的a |
STRCMP(s1,s2) |
比較s1和s2,比較ASCII碼大小 |
TRIM(str) |
去掉行尾和頭的空格 |
SUBSTRING(str,x,y) |
返回str從x起到y(tǒng)個字符字符串的長度 |
函數(shù) |
功能 |
ABS(x) |
絕對值 |
CEIL(x) |
大于x的最小整數(shù) |
FLOOR(x) |
小于x的最大整數(shù) |
MOD(x,y) |
x/y的模 |
RAND() |
0~1內(nèi)隨機(jī)值 |
ROUND(x,y) |
四舍五入 |
TRUNCATE(x,y) |
x截斷為y位小數(shù) |
函數(shù) |
功能 |
CURDATE() |
當(dāng)前日期 |
CURTIME() |
當(dāng)前時間 |
NOW() |
當(dāng)前日期和時間 |
UNIX_TIMESTAMP(date) |
日期date的UNIX時間戳 |
FROM_UNIXTIME(timestamp) |
UNIX時間戳的日期值 |
WEEK(date) |
返回date為一年中的第幾周 |
YEAR(date) |
date的年份 |
HOUR(time) |
time的小時值 |
MINUTE(time) |
time的分鐘值 |
MONTHNAME(date) |
date的月份名 |
DATE_FORMAT(date,fmt) |
格式化date |
DATE_ADD(date,INTERVAL expr type) |
一個日期或時間加上一個時間間隔的時間值 |
DATEDIFF(expr,expr2) |
返回expr和expr2之間的天數(shù) |
- mysql時間相加表達(dá)式類型 DATE_ADD(date,INTERVAL expr type)
表達(dá)式類型 |
描述 |
格式 |
HOUR |
小時 |
hh |
MINUTE |
分 |
mm |
SECOND |
秒 |
ss |
YEAR |
年 |
YY |
MONTH |
月 |
MM |
DAY |
日 |
DD |
YEAR_MONTH |
年和月 |
YY_MM |
DAY_HOUR |
日和小時 |
DD hh |
DAY_MINUTE |
日和分鐘 |
DD hh:mm |
DAY_SECOND |
日和秒 |
DD hh:mm:ss |
HOUR_MINUTE |
小時和分 |
hh:mm |
HOUR_SECOND |
小時和秒 |
hh:ss |
MINUTE_SECOND |
分鐘和秒 |
mm:ss |
select now() current,date_add(now(),INTERVAL 31 day) after31days,date_add(now(),INTERVAL '1_2' year_month) after_oneyear_twomonth;
select now() current,date_add(now(),interval -31 day) after31days,date_add(now(),interval '-1_-2' year_month) after_oneyear_twomonth;
mysql的日期函數(shù)在程序需要處理日期間隔,加減時還是很實用的。日期字符串雖然可以直接比較。
函數(shù) |
功能 |
IF(value,t f) |
value為真返回t,否則返回f |
IFNULL(value1,value2) |
value1不為空返回value1,否則value2 |
CASE WHEN [value1] THEN [result1]...ELSE[default] END |
value1是真返回result1,否則default |
CASE [expr] WHEN [value1] THEN [result1]...ELSE[default] END |
expr等于value1返回result1,否則default |
-其他函數(shù)
函數(shù) |
功能 |
VERSION() |
返回數(shù)據(jù)庫版本 |
USER() |
當(dāng)前登錄用戶名 |
INET_ATON(IP) |
IP地址的數(shù)字表示 |
INET_NTOA(num) |
數(shù)字代表的IP地址,比較IP地址時使用 |
PASSWORD(str) |
字符串str的加密版本 |
MD5() |
字符串str的MD5值 |
遇到不明白的函數(shù)時記得使用終極大招 ? func_name
[Github傳送門][1]
[1]: https://github.com/Melody12ab/db_mysql_note
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者