首頁 資料庫 mysql教程 總結 MySQL常用函數大全

總結 MySQL常用函數大全

Feb 17, 2021 am 10:04 AM

總結 MySQL常用函數大全

免費學習推薦:mysql影片教學

本文章講解是MySQL的函數方法,涵蓋所有的MySQL常見的方法。以下是本篇文章的目錄結構,可以依照自己需求點選右邊目錄尋找:

  • 一、數字函數
  • 二、字串函數
  • 三、日期函數
  • 四、MySQL高階函數

(一)數字函數

1、ABS(x) 傳回x的絕對值

SELECT ABS(-1);
---- 返回1
登入後複製

2、AVG(expression) 傳回一個表達式的平均值,expression 是一個欄位
總結 MySQL常用函數大全

SELECT AVG(age) FROM student;
登入後複製

總結 MySQL常用函數大全

3、CEIL(x)/CEILING(x) 傳回大於或等於x 的最小整數

SELECT CEIL(1.5);
SELECT CEILING(1.5);   
---- 返回2
登入後複製

4、FLOOR(x ) 傳回小於或等於x 的最大整數

SELECT FLOOR(1.5); 
---- 返回1
登入後複製

5、EXP(x) 傳回e 的x 次方

SELECT EXP(3);
---- 计算 e 的三次方,返回20.085536923188
登入後複製

#6、GREATEST (expr1, expr2, expr3, …) 傳回清單中的最大值

SELECT GREATEST(3, 12, 34, 8, 25);
---- 返回以下数字列表中的最大值34
登入後複製

7、LEAST(expr1, expr2, expr3, …) 傳回清單中的最小值

SELECT LEAST(3, 12, 34, 8, 25);
---- 返回以下数字列表中的最小值3
登入後複製

8、LN 傳回數字的自然對數

SELECT LN(2);
---- 返回 2 的自然对数:0.6931471805599453
登入後複製

9、LOG(x) 傳回自然對數(以e 為底的對數)

SELECT LOG(20.085536923188);
---- 返回 3
登入後複製

10、MAX(expression)返回字段expression 中的最大值

SELECT MAX(age) AS maxAge FROM Student;
---- age最大值
登入後複製

11、MIN(expression)返回字段expression 中的最大值

SELECT MIN(age) AS minAge FROM Student;
---- age最小值
登入後複製

12、POW(x,y)/POWER(x,y)傳回x 的y 次方

SELECT POW(2,3);
SELECT POWER(2,3);
---- 返回2 的 3 次方:8
登入後複製

#13 、RAND()傳回0 到1 的隨機數

SELECT RAND();
---- 返回 0 到 1 的随机数,若()里面有数字,RAND(x),x相同时,返回值相同
登入後複製

14、ROUND(x)傳回離x 最近的整數

SELECT ROUND(1.23456);
---- 返回 1
登入後複製

15 、SIGN(x)傳回x 的符號,x 是負數、0、正數分別回傳-1、0 和1

SELECT SIGN(-10);
---- 返回 -1
登入後複製

16、SQRT(x)傳回x的平方根

SELECT SQRT(25);
---- 返回5
登入後複製

17、SUM(expression)傳回指定欄位的總和

SELECT SUM(age) AS totalAage FROM Student;
---- 返回age的总和
登入後複製

18、TRUNCATE(x,y)傳回數值x 保留到小數點後y 位的值(與ROUND 最大的差別是不會進行四捨五入)

SELECT TRUNCATE(1.23456,3);
---- 返回1.234
登入後複製

(二)字串函數

1、傳回字串s 的第一個字元的ASCII 碼

SELECT ASCII('AB');
---- 返回A的ASCII码值:65
登入後複製

2、LENGTH/CHAR_LENGTH(s)/CHARACTER_LENGTH(s)傳回字串s 的字元數

SELECT LENGTH('1234');
---- 返回4
登入後複製

3、CONCAT(s1,s2…sn)字串s1,s2 等多個字串合併為一個字串

SELECT CONCAT('hel','llo');
---- 返回hello
登入後複製

4、FIND_IN_SET( s1,s2)傳回字串s2中與s1相符的字串的位置

SELECT FIND_IN_SET("c", "a,b,c,d,e");
---- 返回3
登入後複製

5、FORMAT(x,n)函數可以將數字x 進行格式化「#, .##」, 將x 保留到小數點後n 位,最後一位四捨五入

SELECT FORMAT(250500.5634, 2); 
---- 返回250,500.56
登入後複製
6、INSERT(s1,x,len,s2)字串s2 替換s1 的x 位置開始長度為len 的字串

SELECT INSERT("google.com", 1, 6, "runnob");
---- 返回runoob.com
登入後複製
7、LOCATE(s1,s)從字串s 取得s1 的開始位置

#

SELECT LOCATE('st','myteststring');
---- 返回5
登入後複製
8、LCASE(s)/LOWER(s)將字串s 的所有字母變成小寫字母

SELECT LOWER('RUNOOB');
---- 返回runoob
登入後複製
9、UCASE(s)/UPPER(s )將字串s 的所有字母變成大寫字母

SELECT UCASE('runoob');
---- 返回RUNOOB
登入後複製
10、TRIM(s)去掉字串s 開始和結尾處的空格

SELECT TRIM('    RUNOOB    ');
---- 返回RUNOOB
登入後複製
11、LTRIM(s)去掉字串s 開始處的空格

SELECT LTRIM('    RUNOOB    ');
---- 返回 ’RUNOOB   ‘
登入後複製
12、RTRIM(s)去掉字串s 結尾處的空格

SELECT RTRIM('    RUNOOB    ');
---- 返回 ’    RUNOOB‘
登入後複製
13、SUBSTR(s, start, length)從字串s 的start 位置截取長度為length 的子字串

SELECT SUBSTR("RUNOOB", 2, 3) AS ExtractString;
---- 从字符串 RUNOOB 中的第 2 个位置截取 3个 字符,返回UNO
登入後複製
14、SUBSTR/ SUBSTRING(s, start, length)從字串s 的start 位置截取長度為length 的子字串

SELECT SUBSTR/SUBSTRING("RUNOOB", 2, 3);
---- 从字符串 RUNOOB 中的第 2 个位置截取 3个 字符,返回UNO
登入後複製
15、POSITION(s1 IN s)從字串s 中獲取s1 的起始位置

SELECT POSITION('b' in 'abc');
---- 返回2
登入後複製
16、REPEAT(s,n)將字串s 重複n 次

SELECT REPEAT('runoob',3);
---- 返回runoobrunoobrunoob
登入後複製
17、REVERSE(s )將字串s的順序反過來

SELECT REVERSE('abc');
---- 返回cba
登入後複製
18、STRCMP(s1,s2)比較字串s1 和s2,如果s1 與s2 相等返回0 ,如果s1>s2 返回1,如果s1

SELECT STRCMP("runoob", "runoob");
---- 返回0
登入後複製
(三)日期函數

1、CURDATE()/CURRENT_DATE()傳回目前日期

SELECT CURDATE();
SELECT CURRENT_DATE();
---- 返回2019-02-19
登入後複製
2、CURRENT_TIME()/CURTIME()傳回目前時間

SELECT CURRENT_TIME();
---- 返回11:40:45
登入後複製
3、CURRENT_TIMESTAMP()傳回目前日期和時間

SELECT CURRENT_TIMESTAMP();
---- 返回2019-02-19 11:41:32
登入後複製
4、ADDDATE(d,n)計算起始日期d 加上n 天的日期

SELECT ADDDATE("2017-06-15", INTERVAL 10 DAY);
---- 返回2017-06-25
登入後複製
5、ADDTIME(t, n)時間t 加上n 秒的時間

SELECT ADDTIME('2011-11-11 11:11:11', 5);
---- 返回2011-11-11 11:11:16
登入後複製
6、DATE()從日期或日期時間表達式中提取日期值

SELECT DATE("2017-06-15 11:11:16");
---- 返回2017-06-15
登入後複製
7、DAY(d)傳回日期值d 的日期部分####
SELECT DAY("2017-06-15"); 
---- 返回15
登入後複製

8、DATEDIFF(d1,d2)计算日期 d1->d2 之间相隔的天数

SELECT DATEDIFF('2001-01-01','2001-02-02'); 
---- 返回-32
登入後複製

9、DATE_FORMAT按表达式 f的要求显示日期 d

SELECT DATE_FORMAT('2011.11.11 11:11:11','%Y-%m-%d %r');
---- 返回2011-11-11 11:11:11 AM
登入後複製

10、DAYNAME(d)返回日期 d 是星期几,如 Monday,Tuesday

SELECT DAYNAME('2011-11-11 11:11:11');
---- 返回Friday
登入後複製

11、DAYOFMONTH(d)计算日期 d 是本月的第几天

SELECT DAYOFMONTH('2011-11-11 11:11:11');
---- 返回11
登入後複製

12、DAYOFWEEK(d)日期 d 今天是星期几,1 星期日,2 星期一,以此类推

SELECT DAYOFWEEK('2011-11-11 11:11:11');
---- 返回6
登入後複製
登入後複製

13、DAYOFYEAR(d)计算日期 d 是本年的第几天

SELECT DAYOFYEAR('2011-11-11 11:11:11');
---- 返回315
登入後複製

14、EXTRACT(type FROM d)从日期 d 中获取指定的值,type 指定返回的值
type可取值为:
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND
MINUTE_MICROSECOND
MINUTE_SECOND
HOUR_MICROSECOND
HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND
DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH

SELECT EXTRACT(MINUTE FROM '2011-12-13 14:15:16');
---- 返回15
登入後複製

15、DAYOFWEEK(d)日期 d 今天是星期几,1 星期日,2 星期一,以此类推

SELECT DAYOFWEEK('2011-11-11 11:11:11');
---- 返回6
登入後複製
登入後複製

16、UNIX_TIMESTAMP()得到时间戳

SELECT UNIX_TIMESTAMP('2019-2-19');
SELECT UNIX_TIMESTAMP(expression);
---- 返回1550505600
登入後複製

17、FROM_UNIXTIME()时间戳转日期

SELECT FROM_UNIXTIME(1550505600);
---- 返回2019-02-19 00:00:00
SELECT FROM_UNIXTIME(1550505600, '%Y-%m-%d');
---- 返回2019-02-19
登入後複製

(四)MySQL高级函数

1、IF(expr,v1,v2)如果表达式 expr 成立,返回结果 v1;否则,返回结果 v2

SELECT IF(1>0,'yes','no');
---- 返回yes
登入後複製

2、CONV(x,f1,f2)返回 f1 进制数变成 f2 进制数

SELECT CONV(13,10,2);
---- 返回1101
登入後複製

3、CURRENT_USER()/SESSION_USER()/SYSTEM_USER()/USER()返回当前用户
4、DATABASE()返回当前数据库名
5、VERSION()返回数据库的版本号

有不正确的地方,欢迎前来指正!

相关免费学习推荐:mysql数据库(视频)

以上是總結 MySQL常用函數大全的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何使用Alter Table語句在MySQL中更改表? 如何使用Alter Table語句在MySQL中更改表? Mar 19, 2025 pm 03:51 PM

本文討論了使用MySQL的Alter Table語句修改表,包括添加/刪除列,重命名表/列以及更改列數據類型。

說明InnoDB全文搜索功能。 說明InnoDB全文搜索功能。 Apr 02, 2025 pm 06:09 PM

InnoDB的全文搜索功能非常强大,能够显著提高数据库查询效率和处理大量文本数据的能力。1)InnoDB通过倒排索引实现全文搜索,支持基本和高级搜索查询。2)使用MATCH和AGAINST关键字进行搜索,支持布尔模式和短语搜索。3)优化方法包括使用分词技术、定期重建索引和调整缓存大小,以提升性能和准确性。

如何為MySQL連接配置SSL/TLS加密? 如何為MySQL連接配置SSL/TLS加密? Mar 18, 2025 pm 12:01 PM

文章討論了為MySQL配置SSL/TLS加密,包括證書生成和驗證。主要問題是使用自簽名證書的安全含義。[角色計數:159]

哪些流行的MySQL GUI工具(例如MySQL Workbench,PhpMyAdmin)是什麼? 哪些流行的MySQL GUI工具(例如MySQL Workbench,PhpMyAdmin)是什麼? Mar 21, 2025 pm 06:28 PM

文章討論了流行的MySQL GUI工具,例如MySQL Workbench和PhpMyAdmin,比較了它們對初學者和高級用戶的功能和適合性。[159個字符]

您如何處理MySQL中的大型數據集? 您如何處理MySQL中的大型數據集? Mar 21, 2025 pm 12:15 PM

文章討論了處理MySQL中大型數據集的策略,包括分區,碎片,索引和查詢優化。

如何使用Drop Table語句將表放入MySQL中? 如何使用Drop Table語句將表放入MySQL中? Mar 19, 2025 pm 03:52 PM

本文討論了使用Drop Table語句在MySQL中放下表,並強調了預防措施和風險。它強調,沒有備份,該動作是不可逆轉的,詳細介紹了恢復方法和潛在的生產環境危害。

如何在JSON列上創建索引? 如何在JSON列上創建索引? Mar 21, 2025 pm 12:13 PM

本文討論了在PostgreSQL,MySQL和MongoDB等各個數據庫中的JSON列上創建索引,以增強查詢性能。它解釋了索引特定的JSON路徑的語法和好處,並列出了支持的數據庫系統。

說明不同類型的MySQL索引(B樹,哈希,全文,空間)。 說明不同類型的MySQL索引(B樹,哈希,全文,空間)。 Apr 02, 2025 pm 07:05 PM

MySQL支持四種索引類型:B-Tree、Hash、Full-text和Spatial。 1.B-Tree索引適用於等值查找、範圍查詢和排序。 2.Hash索引適用於等值查找,但不支持範圍查詢和排序。 3.Full-text索引用於全文搜索,適合處理大量文本數據。 4.Spatial索引用於地理空間數據查詢,適用於GIS應用。

See all articles