MySQL學(xué)習(xí)筆記(3)
運(yùn)算符
類型:算術(shù)、比較、邏輯和位運(yùn)算符
| 運(yùn)算符 |
注解 |
| + |
加法 |
| - |
減法 |
| * |
乘法 |
| / |
除法,除數(shù)為0,返回結(jié)果NULL |
| % |
取商 |
| 運(yùn)算符 |
注解 |
| = |
等于,不能用于NULL比較 |
| <>或!= |
不等于,不能用于NULL比較 |
| <=> |
NULL安全的等于,可用于NULL比較 |
| < |
| <= |
| > |
| >= |
| BETWEEN |
存在于指定范圍(>= and <=) |
| IN |
存在于指定集合 |
| IS NULL |
| IS NOT NULL |
| LIKE |
模糊匹配(“*”匹配一個(gè),“%”匹配多個(gè)) |
| REGEXP或RLIKE |
正則匹配,用法類似于LIKE |
比較運(yùn)算符可比較數(shù)字、字符串和表達(dá)式。數(shù)字作浮點(diǎn)數(shù)比較,字符串以不區(qū)分大小寫的方式比較。
| 運(yùn)算符 |
注解 |
| NOT ! |
非,但NOT NULL返回值為NULL |
| AND && |
與 |
| OR |
|
|
或 |
| XOR |
異或 |
| 運(yùn)算符 |
注解 |
| & |
位于 |
|
位或 |
| ^ |
位亦或 |
| ~ |
位取反(~1) |
| >> |
位右移 |
| << |
位左移 |
常用函數(shù)
| 函數(shù) |
功能 |
| CONCAT(S1,S2,...Sn) |
連接S1,S2,...Sn字符串,于NULL連接返回NULL |
| INSERT(str,x,y,instr) |
將字符串str從第x位置開始,y個(gè)字符長(zhǎng)的字符串替換為字符串instr |
| LOWER(str) |
轉(zhuǎn)為小寫 |
| UPPER(str) |
轉(zhuǎn)為大寫 |
| LEFT(str,x) |
返回str最左邊的x個(gè)字符,第二個(gè)參數(shù)為NULL將不返回任何字符串 |
| RIGHT(str,x) |
最右邊x個(gè)字符 |
| LPAD(str,n,pad) |
用字符串pad對(duì)str最左邊進(jìn)行填充,知道長(zhǎng)度為n個(gè)字符 |
| RPAD(str,n,pad) |
對(duì)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)個(gè)字符字符串的長(zhǎng)度 |
| 函數(shù) |
功能 |
| ABS(x) |
絕對(duì)值 |
| 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截?cái)酁閥位小數(shù) |
| 函數(shù) |
功能 |
| CURDATE() |
當(dāng)前日期 |
| CURTIME() |
當(dāng)前時(shí)間 |
| NOW() |
當(dāng)前日期和時(shí)間 |
| UNIX_TIMESTAMP(date) |
日期date的UNIX時(shí)間戳 |
| FROM_UNIXTIME(timestamp) |
UNIX時(shí)間戳的日期值 |
| WEEK(date) |
返回date為一年中的第幾周 |
| YEAR(date) |
date的年份 |
| HOUR(time) |
time的小時(shí)值 |
| MINUTE(time) |
time的分鐘值 |
| MONTHNAME(date) |
date的月份名 |
| DATE_FORMAT(date,fmt) |
格式化date |
| DATE_ADD(date,INTERVAL expr type) |
一個(gè)日期或時(shí)間加上一個(gè)時(shí)間間隔的時(shí)間值 |
| DATEDIFF(expr,expr2) |
返回expr和expr2之間的天數(shù) |
- mysql時(shí)間相加表達(dá)式類型 DATE_ADD(date,INTERVAL expr type)
| 表達(dá)式類型 |
描述 |
格式 |
| HOUR |
小時(shí) |
hh |
| MINUTE |
分 |
mm |
| SECOND |
秒 |
ss |
| YEAR |
年 |
YY |
| MONTH |
月 |
MM |
| DAY |
日 |
DD |
| YEAR_MONTH |
年和月 |
YY_MM |
| DAY_HOUR |
日和小時(shí) |
DD hh |
| DAY_MINUTE |
日和分鐘 |
DD hh:mm |
| DAY_SECOND |
日和秒 |
DD hh:mm:ss |
| HOUR_MINUTE |
小時(shí)和分 |
hh:mm |
| HOUR_SECOND |
小時(shí)和秒 |
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í)還是很實(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() |
返回?cái)?shù)據(jù)庫版本 |
| USER() |
當(dāng)前登錄用戶名 |
| INET_ATON(IP) |
IP地址的數(shù)字表示 |
| INET_NTOA(num) |
數(shù)字代表的IP地址,比較IP地址時(shí)使用 |
| PASSWORD(str) |
字符串str的加密版本 |
| MD5() |
字符串str的MD5值 |
遇到不明白的函數(shù)時(shí)記得使用終極大招 ? func_name
[Github傳送門][1]
[1]: https://github.com/Melody12ab/db_mysql_note
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。