Select進(jìn)階查詢(xún)·常用函數(shù)

一、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ù)

三、案例:

  • 字符函數(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ù)學(xué)函數(shù)例子
# 輸出偶數(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)
  • 日期時(shí)間函數(shù)例子
# 輸出當(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)
  • 聚集函數(shù)例子
# 輸出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ù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容