這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)MySQL中常用的函數(shù)介紹,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:申請域名、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、鹽山網(wǎng)站維護、網(wǎng)站推廣。
MySQL函數(shù)是MySQL數(shù)據(jù)庫提供的內(nèi)部函數(shù)。這些內(nèi)部函數(shù)可以幫助用戶更加方便的處理表中的數(shù)據(jù)。本小節(jié)中將簡單介紹MySQL中包含哪幾類函數(shù),以及這幾類函數(shù)的的使用范圍和作用。MySQL函數(shù)包括數(shù)學(xué)函數(shù)、字符串函數(shù)、日期和時間函數(shù)、條件判斷函數(shù)、系統(tǒng)信息函數(shù)、加密函數(shù)等。SELECT語句及其條件表達式都可以使用這些函數(shù)。同時,INSERT 、UPDATE、DELECT語句及其條件表達式也可以使用這些函數(shù)。例如,表中的某個數(shù)據(jù)是負數(shù),現(xiàn)在需要將這個數(shù)據(jù)顯示為正數(shù)。這就可以使用絕對值函數(shù)。從上面可以知道,MySQL函數(shù)可以對表中數(shù)據(jù)進行相應(yīng)的處理,以便得到用戶希望得到的數(shù)據(jù)。這些函數(shù)可以使MySQL數(shù)據(jù)庫的功能更加強大。
MySQL數(shù)據(jù)庫中提供了很豐富的函數(shù)。MySQL函數(shù)包括數(shù)學(xué)函數(shù)、字符串函數(shù)、日期和時間函數(shù)、條件判斷函數(shù)、系統(tǒng)信息函數(shù)、加密函數(shù)、格式化函數(shù)等。通過這些函數(shù),可以簡化用戶的操作。例如,字符串連接函數(shù)可以很方便的將多個字符串連接在一起。
常用MySQL函數(shù)有:
一、日期和時間函數(shù)
(1)CURDATE()
、CURRENT_DATE()
將當(dāng)前日期按照"YYYY-MM-DD"或者"YYYYMMDD"格式的值返回,具體格式根據(jù)函數(shù)用在字符串或是數(shù)字語境中而定
(2)CURRENT_TIMESTAMP()、LOCALTIME()、NOW()、SYSDATE()
這四個函數(shù)作用相同,返回當(dāng)前日期和時間值,格式為"YYYY_MM-DD HH:MM:SS"或"YYYYMMDDHHMMSS",具體格式根據(jù)函數(shù)用在字符串或數(shù)字語境中而定
(3)UNIX_TIMESTAMP()、UNIX_TIMESTAMP(date)
前者返回一個格林尼治標(biāo)準(zhǔn)時間1970-01-01 00:00:00到現(xiàn)在的秒數(shù),后者返回一個格林尼治標(biāo)準(zhǔn)時間1970-01-01 00:00:00到指定時間的秒數(shù)
(4)FROM_UNIXTIME(date)
和UNIX_TIMESTAMP互為反函數(shù),把UNIX時間戳轉(zhuǎn)換為普通格式的時間
(5)UTC_DATE()
和UTC_TIME()
前者返回當(dāng)前UTC(世界標(biāo)準(zhǔn)時間)日期值,其格式為"YYYY-MM-DD"或"YYYYMMDD",后者返回當(dāng)前UTC時間值,其格式為"YYYY-MM-DD"或"YYYYMMDD"。具體使用哪種取決于函數(shù)用在字符串還是數(shù)字語境中
(6)MONTH(date)、MONTHNAME(date)
前者返回指定日期中的月份,后者返回指定日期中的月份的名稱
(7)DAYNAME(d)、DAYOFWEEK(d)、WEEKDAY(d)
DAYNAME(d)返回d對應(yīng)的工作日的英文名稱,如Sunday、Monday等;DAYOFWEEK(d)返回的對應(yīng)一周中的索引,1表示周日、2表示周一;WEEKDAY(d)表示d對應(yīng)的工作日索引,0表示周一,1表示周二
(8)WEEK(d)、WEEKOFYEAD(d)
前者計算日期d是一年中的第幾周,后者計算某一天位于一年中的第幾周
(9)DAYOFYEAR(d)、DAYOFMONTH(d)
前者返回d是一年中的第幾天,后者返回d是一月中的第幾天
(10)YEAR(date)、QUARTER(date)、MINUTE(time)、SECOND(time)
YEAR(date)返回指定日期對應(yīng)的年份,范圍是1970~2069;QUARTER(date)返回date對應(yīng)一年中的季度,范圍是1~4;MINUTE(time)返回time對應(yīng)的分鐘數(shù),范圍是0~59;SECOND(time)返回制定時間的秒值
(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*小時 + 60*分鐘 + 秒"
(13)SEC_TO_TIME()
和TIME_TO_SEC(time)互為反函數(shù),將秒值轉(zhuǎn)換為時間格式
(14)DATE_ADD(date,INTERVAL expr type)、ADD_DATE(date,INTERVAL expr type)
返回將起始時間加上expr type之后的時間,比如DATE_ADD('2010-12-31 23:59:59', INTERVAL 1 SECOND)表示的就是把第一個時間加1秒
(15)DATE_SUB(date,INTERVAL expr type)、SUBDATE(date,INTERVAL expr type)
返回將起始時間減去expr type之后的時間
(16)ADDTIME(date,expr)、SUBTIME(date,expr)
前者進行date的時間加操作,后者進行date的時間減操作
二、數(shù)學(xué)函數(shù)
(1)ABS(x)
返回x的絕對值
(2)PI()
返回圓周率π,默認(rèn)顯示6位小數(shù)
(3)SQRT(x)
返回非負數(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ù),即對x進行四舍五入;后者返回最接近x的數(shù),其值保留到小數(shù)點后面y位,若y為負值,則將保留到x到小數(shù)點左邊y位
(8)SIGN(x)
返回參數(shù)x的符號,-1表示負數(shù),0表示0,1表示正數(shù)
(9)POW(x,y)
和POWER(x,y)
返回x的y次乘方的值
(10)EXP(x)
返回e的x乘方后的值
(11)LOG(x)
返回x的自然對數(shù),x相對于基數(shù)e的對數(shù)
(12)LOG10(x)
返回x的基數(shù)為10的對數(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)
計算字符串字符個數(shù)
(2)CONCAT(s1,s2,...)
返回連接參數(shù)產(chǎn)生的字符串,一個或多個待拼接的內(nèi)容,任意一個為NULL則返回值為NULL
(3)CONCAT_WS(x,s1,s2,...)
返回多個字符串拼接之后的字符串,每個字符串之間有一個x
(4)INSERT(s1,x,len,s2)
返回字符串s1,其子字符串起始于位置x,被字符串s2取代len個字符
(5)LOWER(str)
和LCASE(str)
、UPPER(str)
和UCASE(str)
前兩者將str中的字母全部轉(zhuǎn)換成小寫,后兩者將字符串中的字母全部轉(zhuǎn)換成大寫
(6)LEFT(s,n)
、RIGHT(s,n)
前者返回字符串s從最左邊開始的n個字符,后者返回字符串s從最右邊開始的n個字符
(7)LPAD(s1,len,s2)
、RPAD(s1,len,s2)
前者返回s1,其左邊由字符串s2填補到len字符長度,假如s1的長度大于len,則返回值被縮短至len字符;前者返回s1,其右邊由字符串s2填補到len字符長度,假如s1的長度大于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)
返回一個由重復(fù)字符串s組成的字符串,字符串s的數(shù)目等于n
(12)SPACE(n)
返回一個由n個空格組成的字符串
(13)REPLACE(s,s1,s2)
返回一個字符串,用字符串s2替代字符串s中所有的字符串s1
(14)STRCMP(s1,s2)
若s1和s2中所有的字符串都相同,則返回0;根據(jù)當(dāng)前分類次序,第一個參數(shù)小于第二個則返回-1,其他情況返回1
(15)SUBSTRING(s,n,len)
、MID(s,n,len)
兩個函數(shù)作用相同,從字符串s中返回一個第n個字符開始、長度為len的字符串
(16)LOCATE(str1,str)
、POSITION(str1 IN str)
、INSTR(str,str1)
三個函數(shù)作用相同,返回子字符串str1在字符串str中的開始位置(從第幾個字符開始)
(17)REVERSE(s)
將字符串s反轉(zhuǎn)
(18)ELT(N,str1,str2,str3,str4,...)
返回第N個字符串
四、條件判斷函數(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等于某個vn,則返回對應(yīng)位置THEN后面的結(jié)果,如果與所有值都不想等,則返回ELSE后面的rn
五、系統(tǒng)信息函數(shù)
(1)VERSION()
查看MySQL版本號
(2)CONNECTION_ID()
查看當(dāng)前用戶的連接數(shù)
(3)USER()、CURRENT_USER()、SYSTEM_USER()、SESSION_USER()
查看當(dāng)前被MySQL服務(wù)器驗證的用戶名和主機的組合,一般這幾個函數(shù)的返回值是相同的
(4)CHARSET(str)
查看字符串str使用的字符集
(5)COLLATION()
查看字符串排列方式
六、加密函數(shù)
(1)PASSWORD(str)
從原明文密碼str計算并返回加密后的字符串密碼,注意這個函數(shù)的加密是單向的(不可逆),因此不應(yīng)將它應(yīng)用在個人的應(yīng)用程序中而應(yīng)該只在MySQL服務(wù)器的鑒定系統(tǒng)中使用
(2)MD5(str)
為字符串算出一個MD5 128比特校驗和,改值以32位十六進制數(shù)字的二進制字符串形式返回
(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ù)點后n位,結(jié)果以字符串形式返回
(2)CONV(N,from_base,to_base)
不同進制數(shù)之間的轉(zhuǎn)換,返回值為數(shù)值N的字符串表示,由from_base進制轉(zhuǎn)換為to_base進制
(3)INET_ATON(expr)
給出一個作為字符串的網(wǎng)絡(luò)地址的點地址表示,返回一個代表該地址數(shù)值的整數(shù),地址可以使4或8比特
(4)INET_NTOA(expr)
給定一個數(shù)字網(wǎng)絡(luò)地址(4或8比特),返回作為字符串的該地址的點地址表示
(5)BENCHMARK(count,expr)
重復(fù)執(zhí)行count次表達式expr,它可以用于計算MySQL處理表達式的速度,結(jié)果值通常是0(0只是表示很快,并不是沒有速度)。另一個作用是用它在MySQL客戶端內(nèi)部報告語句執(zhí)行的時間
(6)CONVERT(str USING charset)
使用字符集charset表示字符串str
上述就是小編為大家分享的MySQL中常用的函數(shù)介紹了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
名稱欄目:MySQL中常用的函數(shù)介紹
文章起源:http://vcdvsql.cn/article24/iiggje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、企業(yè)網(wǎng)站制作、App開發(fā)、定制開發(fā)、網(wǎng)站排名、網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)