mysql 常用函數

來源:互聯網
上載者:User

標籤:

MySQL函數

字串相關函數1 ASCII(String)

返回字串第一個字母的ASCII碼:

SELECT ASCII(‘A‘);

SELECT ASCII(‘AB‘);

這兩條語句都是輸出65!

2 BIN(long)

返回整數的二進位形式的字串

SELECT BIN(15);

  輸出1111

3 CHAR(int…)

將每個整型轉換成對應的字元

SELECT CHAR(65,66,67,68,69);

輸出ABCDE

SELECT CHAR(‘65‘,‘66‘,‘67‘,‘68‘,‘69‘);

  參數為字串時,會被轉換成整型,然後再轉換成對應字元。

4 CHAR_LENGTH(String)

返回字串的長度!‘中國‘這個字串長度為2。‘ab‘長度為2!不分中英文!

SELECT CHAR_LENGTH(‘a中b國c‘);

  輸出5

5 CHARACTER_LENGTH(String)

  與CHAR_LENGTH()完全相同!

6 CONCAT(String…)

將多個字串串連成一個字串

SELECT CONCAT(‘My‘, ‘SQL‘);

  輸出MySQL

7 CONCAT_WS(separator, String…)

使用第一個參數字串,把其他參數字串串連。

SELECT CONCAT_WS(‘-‘, ‘A‘,‘B‘,‘C‘);

  輸出A-B-C

8 CONV(int n, int radix1, int radix2)

把n從radix1進位轉換成radix2進位。

SELECT CONV(‘F‘, 16, 10);

  一個個參數F是一個數值,第二個參數16說明F是16進位數值,第三個參數10說明要把F轉換成10進位,所以輸出15。

9 ELT(N, str1, str2, str3…)

N是一個整數,若N為1,則返回str1,若N為2,則返回str2,以此類推

SELECT ELT(3, ‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘);

  輸出c

10 EXPORT_SET(int bits, String on, String off, Strring separator, int length)

bits是一個整數,把bits轉換成二進位,其中1用on替換,0用off轉換,使用separator來串連每個二進位位,length是指定從左至右顯示幾位。如果沒有指定length,那麼會在右邊補足到64位。

SELECT EXPORT_SET(13, ‘a‘, ‘b‘, ‘-‘, 4);

輸出a-b-a-a,因為13的二進位是1011,其中1用a替換,而0用b替換。

SELECT EXPORT_SET(13, ‘a‘, ‘b‘, ‘-‘, 3);

輸出a-b-a

SELECT EXPORT_SET(13, ‘a‘, ‘b‘, ‘-‘, 10);

輸出a-b-a-a-b-b-b-b-b-b,因為13隻有4位,而length為10,那麼會在右邊補足到10位,都是用0補,所以才會多出來6個b。

流程式控制制函數1 CASE value WHEN v1 THEN expr1 WHEN v2 THEN expr2 …. END

這種CASE WHEN THEN語句與Java中的switch語句基本相同:

SELECT CASE 3

WHEN 1 THEN ‘a‘

WHEN 2 THEN ‘b‘

WHEN 3 THEN ‘c‘

WHEN 4 THEN ‘d‘

END;

2 CASE WHEN condition THEN expr1 WHEN condition THEN expr2 … END

這種CASE WHEN THEN語句與Java中的多分支if/else if比較相似:

SELECT CASE

WHEN 1>2 THEN ‘1>2‘

WHEN 1<2 THEN ‘1<2‘

END;

3 IF(condition, expr1, expr1)

同時與Java中的if/else

SELECT

IF(1 > 0, ‘1>0‘, ‘1<0‘);

4 INNULL(expr1, expr2)

當expr1為NULL時,那麼函數返回expr2,否則返回expr1。

SELECT

IFNULL(NULL, ‘hello‘);

?

SELECT

IFNULL(‘hello‘, ‘world‘);

常用函數1 時間日期相關函數
  • CURRENT_DATE():輸出當前日期;
  • CURRENT_TIME():輸出目前時間;
  • CURRENT_TIMESTAMP():輸出當前日期和時間,即輸出目前時間戳;
  • NOW():輸出當前日期和時間,與CURRENT_TIMESTAMP相同;
2 字串相關函數
  • CONCAT(‘My‘, ‘SQL‘):輸出MySQL,即連接字串,參數可以是多個;
  • CHAR_LENGTH(‘helloworld中‘):輸出11,返回字串字元的個數;
  • UCASE(‘hello‘):輸出HELLO;
  • LCASE(‘HELLO‘):輸出hello;
  • LEFT(‘helloworld‘,5):輸出hello,輸出左邊5個字元;
  • LENGTH(‘helloworld中‘):輸出13,返回字串所佔位元組數。當然,如果client的字元集是gbk,那麼就輸出12了;
  • STRCMP(‘zhan‘, ‘zhao‘):輸出-1,比較兩個字串的大小,如果前者大返回1,後者大返回-1,相等返回0;
  • TRIM(‘ hello ‘):輸出hello,去除左右邊空白;
3 數學運算相關函數
  • ABS(-100):輸出100,求絕對值;
  • BIN(15):輸出1111,即15的二進位字串;
  • FORMAT(1.23456, 3):輸出1.235,保留3位小數(四捨五入),如果整數部分大於3位會有逗號出現;
  • HEX(15):輸出F,即出來16進位表示形式;
  • MOD(10, 3):輸出1,即取餘運算;
  • RAND():輸出0~1之間的隨機小數;

?

?

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.