MySQL函數(shù)一覽_MySQL函數(shù)全部匯總
前言
MySQL提供了眾多功能強(qiáng)大、方便易用的函數(shù),使用這些函數(shù),可以極大地提高用戶對(duì)于數(shù)據(jù)庫(kù)的管理效率,從而更加靈活地滿足不同用戶的需求。本文將MySQL的函數(shù)分類并匯總,以便以后用到的時(shí)候可以隨時(shí)查看。
數(shù)學(xué)函數(shù)
(1)ABS(x)
返回x的絕對(duì)值
(2)PI()
返回圓周率π,默認(rèn)顯示6位小數(shù)
(3)SQRT(x)
返回非負(fù)數(shù)的x的二次方根
(4)MOD(x,y)
返回x被y除后的余數(shù)
(5)CEIL(x)、CEILING(x)
返回不小于x的最小整數(shù)
(6)FLOOR(x)
返回不大于x的最大整數(shù)
(7)ROUND(x)、ROUND(x,y)
前者返回最接近于x的整數(shù),即對(duì)x進(jìn)行四舍五入;后者返回最接近x的數(shù),其值保留到小數(shù)點(diǎn)后面y位,若y為負(fù)值,則將保留到x到小數(shù)點(diǎn)左邊y位
(8)SIGN(x)
返回參數(shù)x的符號(hào),-1表示負(fù)數(shù),0表示0,1表示正數(shù)
(9)POW(x,y)和、POWER(x,y)
返回x的y次乘方的值
(10)EXP(x)
返回e的x乘方后的值
(11)LOG(x)
返回x的自然對(duì)數(shù),x相對(duì)于基數(shù)e的對(duì)數(shù)
(12)LOG10(x)
返回x的基數(shù)為10的對(duì)數(shù)
(13)RADIANS(x)
返回x由角度轉(zhuǎn)化為弧度的值
(14)DEGREES(x)
返回x由弧度轉(zhuǎn)化為角度的值
(15)SIN(x)、ASIN(x)
前者返回x的正弦,其中x為給定的弧度值;后者返回x的反正弦值,x為正弦
(16)COS(x)、ACOS(x)
前者返回x的余弦,其中x為給定的弧度值;后者返回x的反余弦值,x為余弦
(17)TAN(x)、ATAN(x)
前者返回x的正切,其中x為給定的弧度值;后者返回x的反正切值,x為正切
(18)COT(x)
返回給定弧度值x的余切
字符串函數(shù)
(1)CHAR_LENGTH(str)
計(jì)算字符串字符個(gè)數(shù)
(2)CONCAT(s1,s2,...)
返回連接參數(shù)產(chǎn)生的字符串,一個(gè)或多個(gè)待拼接的內(nèi)容,任意一個(gè)為NULL則返回值為NULL
(3)CONCAT_WS(x,s1,s2,...)
返回多個(gè)字符串拼接之后的字符串,每個(gè)字符串之間有一個(gè)x
(4)INSERT(s1,x,len,s2)
返回字符串s1,其子字符串起始于位置x,被字符串s2取代len個(gè)字符
(5)LOWER(str)和LCASE(str)、UPPER(str)和UCASE(str)
前兩者將str中的字母全部轉(zhuǎn)換成小寫,后兩者將字符串中的字母全部轉(zhuǎn)換成大寫
(6)LEFT(s,n)、RIGHT(s,n)
前者返回字符串s從最左邊開始的n個(gè)字符,后者返回字符串s從最右邊開始的n個(gè)字符
(7)LPAD(s1,len,s2)、RPAD(s1,len,s2)
前者返回s1,其左邊由字符串s2填補(bǔ)到len字符長(zhǎng)度,假如s1的長(zhǎng)度大于len,則返回值被縮短至len字符;前者返回s1,其右邊由字符串s2填補(bǔ)到len字符長(zhǎng)度,假如s1的長(zhǎng)度大于len,則返回值被縮短至len字符
(8)LTRIM(s)、RTRIM(s)
前者返回字符串s,其左邊所有空格被刪除;后者返回字符串s,其右邊所有空格被刪除
(9)TRIM(s)
返回字符串s刪除了兩邊空格之后的字符串
(10)TRIM(s1 FROM s)
刪除字符串s兩端所有子字符串s1,未指定s1的情況下則默認(rèn)刪除空格
(11)REPEAT(s,n)
返回一個(gè)由重復(fù)字符串s組成的字符串,字符串s的數(shù)目等于n
(12)SPACE(n)
返回一個(gè)由n個(gè)空格組成的字符串
(13)REPLACE(s,s1,s2)
返回一個(gè)字符串,用字符串s2替代字符串s中所有的字符串s1
(14)STRCMP(s1,s2)
若s1和s2中所有的字符串都相同,則返回0;根據(jù)當(dāng)前分類次序,第一個(gè)參數(shù)小于第二個(gè)則返回-1,其他情況返回1
(15)SUBSTRING(s,n,len)、MID(s,n,len)
兩個(gè)函數(shù)作用相同,從字符串s中返回一個(gè)第n個(gè)字符開始、長(zhǎng)度為len的字符串
(16)LOCATE(str1,str)、POSITION(str1 IN str)、INSTR(str,str1)
三個(gè)函數(shù)作用相同,返回子字符串str1在字符串str中的開始位置(從第幾個(gè)字符開始)
(17)REVERSE(s)
將字符串s反轉(zhuǎn)
(18)ELT(N,str1,str2,str3,str4,...)
返回第N個(gè)字符串
日期和時(shí)間函數(shù)
(1)CURDATE()、CURRENT_DATE()
將當(dāng)前日期按照"YYYY-MM-DD"或者"YYYYMMDD"格式的值返回,具體格式根據(jù)函數(shù)用在字符串或是數(shù)字語(yǔ)境中而定
(2)CURRENT_TIMESTAMP()、LOCALTIME()、NOW()、SYSDATE()
這四個(gè)函數(shù)作用相同,返回當(dāng)前日期和時(shí)間值,格式為"YYYY_MM-DD HH:MM:SS"或"YYYYMMDDHHMMSS",具體格式根據(jù)函數(shù)用在字符串或數(shù)字語(yǔ)境中而定
(3)UNIX_TIMESTAMP()、UNIX_TIMESTAMP(date)
前者返回一個(gè)格林尼治標(biāo)準(zhǔn)時(shí)間1970-01-01 00:00:00到現(xiàn)在的秒數(shù),后者返回一個(gè)格林尼治標(biāo)準(zhǔn)時(shí)間1970-01-01 00:00:00到指定時(shí)間的秒數(shù)
(4)FROM_UNIXTIME(date)
和UNIX_TIMESTAMP互為反函數(shù),把UNIX時(shí)間戳轉(zhuǎn)換為普通格式的時(shí)間
(5)UTC_DATE()和UTC_TIME()
前者返回當(dāng)前UTC(世界標(biāo)準(zhǔn)時(shí)間)日期值,其格式為"YYYY-MM-DD"或"YYYYMMDD",后者返回當(dāng)前UTC時(shí)間值,其格式為"YYYY-MM-DD"或"YYYYMMDD"。具體使用哪種取決于函數(shù)用在字符串還是數(shù)字語(yǔ)境中
(6)MONTH(date)和MONTHNAME(date)
前者返回指定日期中的月份,后者返回指定日期中的月份的名稱
(7)DAYNAME(d)、DAYOFWEEK(d)、WEEKDAY(d)
DAYNAME(d)返回d對(duì)應(yīng)的工作日的英文名稱,如Sunday、Monday等;DAYOFWEEK(d)返回的對(duì)應(yīng)一周中的索引,1表示周日、2表示周一;WEEKDAY(d)表示d對(duì)應(yīng)的工作日索引,0表示周一,1表示周二
(8)WEEK(d)、WEEKOFYEAD(d)
前者計(jì)算日期d是一年中的第幾周,后者計(jì)算某一天位于一年中的第幾周
(9)DAYOFYEAR(d)、DAYOFMONTH(d)
前者返回d是一年中的第幾天,后者返回d是一月中的第幾天
(10)YEAR(date)、QUARTER(date)、MINUTE(time)、SECOND(time)
YEAR(date)返回指定日期對(duì)應(yīng)的年份,范圍是1970~2069;QUARTER(date)返回date對(duì)應(yīng)一年中的季度,范圍是1~4;MINUTE(time)返回time對(duì)應(yīng)的分鐘數(shù),范圍是0~59;SECOND(time)返回制定時(shí)間的秒值
(11)EXTRACE(type FROM date)
從日期中提取一部分,type可以是YEAR、YEAR_MONTH、DAY_HOUR、DAY_MICROSECOND、DAY_MINUTE、DAY_SECOND
(12)TIME_TO_SEC(time)
返回以轉(zhuǎn)換為秒的time參數(shù),轉(zhuǎn)換公式為"3600*小時(shí) + 60*分鐘 + 秒"
(13)SEC_TO_TIME()
和TIME_TO_SEC(time)互為反函數(shù),將秒值轉(zhuǎn)換為時(shí)間格式
(14)DATE_ADD(date,INTERVAL expr type)、ADD_DATE(date,INTERVAL expr type)
返回將起始時(shí)間加上expr type之后的時(shí)間,比如DATE_ADD('2010-12-31 23:59:59', INTERVAL 1 SECOND)表示的就是把第一個(gè)時(shí)間加1秒
(15)DATE_SUB(date,INTERVAL expr type)、SUBDATE(date,INTERVAL expr type)
返回將起始時(shí)間減去expr type之后的時(shí)間
(16)ADDTIME(date,expr)、SUBTIME(date,expr)
前者進(jìn)行date的時(shí)間加操作,后者進(jìn)行date的時(shí)間減操作
條件判斷函數(shù)
(1)IF(expr,v1,v2)
如果expr是TRUE則返回v1,否則返回v2
(2)IFNULL(v1,v2)
如果v1不為NULL,則返回v1,否則返回v2
(3)CASE expr WHEN v1 THEN r1 [WHEN v2 THEN v2] [ELSE rn] END
如果expr等于某個(gè)vn,則返回對(duì)應(yīng)位置THEN后面的結(jié)果,如果與所有值都不想等,則返回ELSE后面的rn
系統(tǒng)信息函數(shù)
(1)VERSION()
查看MySQL版本號(hào)
(2)CONNECTION_ID()
查看當(dāng)前用戶的連接數(shù)
(3)USER()、CURRENT_USER()、SYSTEM_USER()、SESSION_USER()
查看當(dāng)前被MySQL服務(wù)器驗(yàn)證的用戶名和主機(jī)的組合,一般這幾個(gè)函數(shù)的返回值是相同的
(4)CHARSET(str)
查看字符串str使用的字符集
(5)COLLATION()
查看字符串排列方式
加密函數(shù)
(1)PASSWORD(str)
從原明文密碼str計(jì)算并返回加密后的字符串密碼,注意這個(gè)函數(shù)的加密是單向的(不可逆),因此不應(yīng)將它應(yīng)用在個(gè)人的應(yīng)用程序中而應(yīng)該只在MySQL服務(wù)器的鑒定系統(tǒng)中使用
(2)MD5(str)
為字符串算出一個(gè)MD5 128比特校驗(yàn)和,改值以32位十六進(jìn)制數(shù)字的二進(jìn)制字符串形式返回
(3)ENCODE(str, pswd_str)
使用pswd_str作為密碼,加密str
(4)DECODE(crypt_str,pswd_str)
使用pswd_str作為密碼,解密加密字符串crypt_str,crypt_str是由ENCODE函數(shù)返回的字符串
其他函數(shù)
(1)FORMAT(x,n)
將數(shù)字x格式化,并以四舍五入的方式保留小數(shù)點(diǎn)后n位,結(jié)果以字符串形式返回
(2)CONV(N,from_base,to_base)
不同進(jìn)制數(shù)之間的轉(zhuǎn)換,返回值為數(shù)值N的字符串表示,由from_base進(jìn)制轉(zhuǎn)換為to_base進(jìn)制
(3)INET_ATON(expr)
給出一個(gè)作為字符串的網(wǎng)絡(luò)地址的點(diǎn)地址表示,返回一個(gè)代表該地址數(shù)值的整數(shù),地址可以使4或8比特
(4)INET_NTOA(expr)
給定一個(gè)數(shù)字網(wǎng)絡(luò)地址(4或8比特),返回作為字符串的該地址的點(diǎn)地址表示
(5)BENCHMARK(count,expr)
重復(fù)執(zhí)行count次表達(dá)式expr,它可以用于計(jì)算MySQL處理表達(dá)式的速度,結(jié)果值通常是0(0只是表示很快,并不是沒有速度)。另一個(gè)作用是用它在MySQL客戶端內(nèi)部報(bào)告語(yǔ)句執(zhí)行的時(shí)間
(6)CONVERT(str USING charset)
使用字符集charset表示字符串str
以上這篇MySQL函數(shù)一覽_MySQL函數(shù)全部匯總就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
MYSQL統(tǒng)計(jì)逗號(hào)分隔字段元素的個(gè)數(shù)
本文主要介紹了MYSQL統(tǒng)計(jì)逗號(hào)分隔字段元素的個(gè)數(shù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01mysql之delete刪除記錄后數(shù)據(jù)庫(kù)大小不變
這篇文章主要介紹了mysql之delete刪除記錄后數(shù)據(jù)庫(kù)大小不變的相關(guān)資料,需要的朋友可以參考下2016-06-06mysql存儲(chǔ)過程之循環(huán)語(yǔ)句(WHILE,REPEAT和LOOP)用法分析
這篇文章主要介紹了mysql存儲(chǔ)過程之循環(huán)語(yǔ)句(WHILE,REPEAT和LOOP)用法,結(jié)合實(shí)例形式分析了mysql存儲(chǔ)過程循環(huán)語(yǔ)句WHILE,REPEAT和LOOP的原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-12-12MySQL數(shù)據(jù)庫(kù)終端—常用操作指令代碼
這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)終端—常用操作指令代碼,添加用戶、更改用戶名和host主機(jī)、更改密碼、刪除用戶等等,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-01-01MySQL數(shù)據(jù)庫(kù)復(fù)合查詢操作實(shí)戰(zhàn)
mysql表的查詢都是對(duì)一張表進(jìn)行查詢,在實(shí)際開發(fā)中這遠(yuǎn)遠(yuǎn)不夠,下面這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫(kù)復(fù)合查詢的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05MySQL優(yōu)化案例之隱式字符編碼轉(zhuǎn)換
這篇文章主要介紹了MySQL優(yōu)化案例之隱式字符編碼轉(zhuǎn)換,隱式類型轉(zhuǎn)換也會(huì)導(dǎo)致同樣的放棄走樹搜索,更多相關(guān)內(nèi)容具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07mysql存儲(chǔ)過程如何利用臨時(shí)表返回結(jié)果集
這篇文章主要介紹了mysql存儲(chǔ)過程如何利用臨時(shí)表返回結(jié)果集,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09