一、MySql中函數(shù)定義:
- 函數(shù)就是MySQL服務(wù)內(nèi)置的命令
- 函數(shù)的格式:函數(shù)名()
- 通常使用的方法=>函數(shù)名(表頭名)
二、常用函數(shù):
| 分類(lèi) |
命令/符號(hào)/... |
說(shuō)明 |
| 字符函數(shù) |
LENGTH(str) |
返字符串長(zhǎng)度,以字節(jié)為單位 |
|
CHAR_LENGTH(str) |
返回字符串長(zhǎng)度,以字符為單位 |
|
LOWER(str)和LCASE(str) |
將str中的字母全部轉(zhuǎn)換成小寫(xiě) |
|
SUBSTR(s, start,end) |
從s的start位置開(kāi)始取出到end長(zhǎng)度的子串 |
|
INSTR(str,str1) |
返回str1參數(shù),在str參數(shù)內(nèi)的位置 |
|
TRIM(s) |
返回字符串s刪除了兩邊空格之后的字符串 |
| 數(shù)學(xué)函數(shù) |
ABS(x) |
返回x的絕對(duì)值 |
|
PI() |
返回圓周率π,默認(rèn)顯示6位小數(shù) |
|
ABS(x) |
返回x被y除后的余數(shù) |
|
MOD(x,y) |
返為單位 |
|
CEIL(x)、CEILING(x) |
返回不小于x的最小整數(shù) (x 是小數(shù)) |
|
FLOOR(x) |
返回不大于x的最大整數(shù) (x 是小數(shù)) |
|
ROUND(x) |
返回最接近于x的整數(shù),即對(duì)x進(jìn)行四舍五入 (x 是小數(shù)) |
|
ROUND(x,y) |
返回最接近x的數(shù),其值保留到小數(shù)點(diǎn)后面y位,若y為負(fù)值,則將保留到x到小數(shù)點(diǎn)左邊y位 (x 是小數(shù)) |
| 時(shí)間函數(shù) |
curtime() |
獲取時(shí)間:h:m:s |
|
curdate() |
獲取日期:y-m-d |
|
now() |
獲取日期時(shí)間:y-m-d h:m:s |
|
year(date) |
獲取年份 |
|
month(date) |
獲取月份 |
|
day(date) |
獲取一個(gè)月的第幾天 |
|
week(date) |
獲取一年中的第幾周 |
|
date(date) |
獲取日期:y-m-d |
|
weekday(date) |
獲取一周中的周幾 |
|
time(date) |
獲取時(shí)間:h:m:s |
|
hour(date) |
獲取小時(shí) |
|
minute(date) |
獲取分鐘 |
|
second(date) |
獲取秒鐘 |
|
quarter(date) |
獲取一年中的第幾個(gè)季度 |
|
monthname(date) |
獲取月份名稱(chēng)(英文) |
|
dayname(date) |
獲取星期幾(英文) |
|
dayofyear(date) |
獲取一年中的第幾天 |
|
dayofmonth(date) |
獲取一個(gè)月的第幾天 |
| 聚集函數(shù) |
avg(表頭名) |
計(jì)算平均值 |
|
min(表頭名) |
獲取最小值 |
|
max(表頭名) |
獲取最大值 |
|
count(表頭名) |
統(tǒng)計(jì)表頭值個(gè)數(shù) |
三、案例:
mysql> select name,length(name) from tarena.employees where employee_id = 8 ;
+--------+-------------------+
| name | char_length(name) |
+--------+-------------------+
| 汪云 | 6 |
+--------+-------------------+
1 row in set (0.00 sec)
# 輸出偶數(shù)行 行號(hào)和用戶(hù)名
mysql> select id , name from tarena.user where mod(id,2) = 0 ;
+----+-----------------+
| id | name |
+----+-----------------+
| 2 | bin |
| 4 | adm |
| 6 | sync |
| 8 | halt |
+----+-----------------+
4 rows in set (0.00 sec)
# 輸出當(dāng)前時(shí)間
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2021-10-12 09:27:39 |
+---------------------+
1 row in set (0.00 sec)
# 獲取當(dāng)前年份
mysql> select year(now());
+-------------+
| year(now()) |
+-------------+
| 2021 |
+-------------+
1 row in set (0.00 sec)
# 輸出uid列的最小值和最大值
mysql> select min(uid),max(uid) from tarena.user;
+----------+----------+
| min(uid) | max(uid) |
+----------+----------+
| 0 | 65534 |
+----------+----------+
1 row in set (0.00 sec)
# 統(tǒng)計(jì)使用解釋器/sbin/nologin 用戶(hù)的個(gè)數(shù)
mysql> select count(name) from tarena.user where shell="/sbin/nologin";
+-------------+
| count(name) |
+-------------+
| 19 |
+-------------+
1 row in set (0.01 sec)
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。