MySQL 入門(十二)—— MySQL內建函式

來源:互聯網
上載者:User

標籤:

豐富的函數可以簡化使用者的操作,讓操作更加靈活,此外,由於函數的執行速度非常快,還可以提高MySQL的處理速度。
前面介紹到的Select語句及其條件運算式,Insert、Update和Delete語句及其條件運算式都可以使用這些函數。
MySQL函數包括數學函數、字串函數、日期和時間函數、條件判斷函數、徐彤資訊函數、加密函數、格式化函數等。下面將詳細介紹這些函數的使用方法。

1、數學函數

數學函數主要用於處理數字,包括整型、浮點型等。

2、字串函數

字串函數主要用於處理表中的字串。

(1)假設利用函數LPAD(‘Jiangjing’,15,’+-‘)來將字串’+-‘填充到’Jiangjing’開始處,使得字串長度達到15,則結果為’+-+-+Jiangjing’。
(2)假設利用函數TRIM(‘ab’ from ‘ababdddababdddab’)來去掉字串’ababdddababdddab’中首尾的’ab’,將得到’dddababddd’。
(3)假設利用Make_set(11,’a’,’b’,’c’,’d’)函數選取字串,首先11轉換成為進位數1011,由於讀取位元的順序是從右至左,因此,表示從右至左的第1位、第2位和第4位為1,所以對應選取’a’,’b’和’d’。一定注意順序。

3、日期和時間函數



其中,MySQL的日期間隔類型如下

MySQL中的日期時間格式如下

4、條件判斷函數

條件判斷函數用來在SQL語句中進行條件判斷。

4.1 IF(expr,v1,v2)函數

如果運算式expr成立,返回結果v1,否則返回結果v2。

4.2 IFNULL(v1,v2)函數

如果v1不為空白,就顯示v1的值,否則就顯示v2的值。

4.3 CASE函數

(1)CASE WHEN exp1 Then v1 [WHEN expr2 THEN v2 ···] [ELSE vn] END
類似於If else語句
(2)CASE expr WHEN e1 Then v1 [WHEN e2 THEN v2 ···] [ELSE vn] END
類似於Case語句

5、系統資訊函數

系統資訊函數用來查詢MySQL資料庫的系統資訊。

6、加密函數

加密函數時MySQL用來對資料進行加密的函數。

6.1 加密函數PASSWORD(str)

通常用來給使用者的密碼加密。
注意password()函數的加密是無法復原的。

6.2 加密函數MD5(str)

主要用來對普通的資料加密。

6.3 加密函數ENCODE(str,pswd_str)

可以使用字串pswd_str來加密字串str,加密的結果是一個位元,必須使用BLOB類型的欄位來儲存。

6.4 解密函數DECODE(crypt_str,pswd_str)

可以使用字串pswd_str來為crypt_str解密,其中crypt_str是通過6.3函數加密的,注意字串pswd_str應該與加密時的字串pswd_str是相同的。

7、 其它函數7.1 格式化函數Format(x,n)

可以將數字x進行格式化,將其保留到小數點後n位,這個過程會進行四捨五入。
與函數ROUND(x,y)類似。

7.2 不同進位的數字進行轉換的函數

(1)ASCII(s)返回字串s的第一個字元的ASCII碼
(2)BIN(x)返回x的二進位編碼
(3)HEX(x)返回x的十六進位編碼
(4)OCT(x)返回x的八進位編碼
(5)CONV(x,f1,f2)將x從f1進位數變換成f2進位數

7.3 IP地址與數字相互轉換的函數

(1)INET_ATON(IP)可以將IP地址轉換成數字表示
(2)INET_NTOA(n)可以將數字n轉成IP的形式
注意INET_ATON(IP)函數中IP值需要加上引號。

7.4 加鎖函數與解鎖函數

(1)GET_LOCT(name,time)定義一個名稱為name、持續持劍長度為time秒的鎖,如果鎖定成功則返回1,如果嘗試逾時則返回0,如果遇到錯誤則返回NULL。
(2)RELEASE_LOCT(name)解除名稱為name的鎖,如果解鎖成功則返回1,如果嘗試逾時則返回0,如果遇到錯誤則返回NULL。
(3)IS_FREE_LOCK(name)判斷是否使用名為name的鎖,如果使用則返回0,否則返回1.

7.5 重複執行指定操作的函數

BENCHMARK(count,expr)將運算式expr重複執行count次,飯後返回執行時間,可用來判斷MySQL處理運算式的速度。

7.6 改變字元集的函數

CONVERT(s USING cs)將字串s的字元集變成cs

7.7 改變欄位資料類型的函數

CAST(x AS type)和CONVERT(x,type)

MySQL 入門(十二)—— MySQL內建函式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.