日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

這些年一直保持著一個(gè)習(xí)慣,就是整理知識(shí)做成筆記,雖然很多資料我們上網(wǎng)去找一搜就是一大把,然后覺得不錯(cuò)的資料就把它們收藏起來,比如一些不錯(cuò)的博客,想著用到的時(shí)候再去翻看。

但在這個(gè)過程中會(huì)出現(xiàn)問題經(jīng)常遇到,比如說收藏的文章不見了(刪了),再去找別的文章又得重新理解新作者的思路;再比如說自己雖然收藏了一些文章,但是文章里面的局部?jī)?nèi)容有些是會(huì)過時(shí),食之無味棄之可惜,如果能修改一下就好了,可惜不是作者。

于是后來我就自己去整理屬于自己的資料,不斷更新和備注,比如說一些語法或者其他的命令等等,過程雖然麻煩了點(diǎn),但當(dāng)需要查資料的時(shí)候,直接打開文件搜索關(guān)鍵詞快速查找,同時(shí)也看到了自己的一些備注,基本上就是看到了就能立馬用起來。

今天就來分享一下我的資料庫里面關(guān)于MySQL的常用函數(shù),基本上囊括了平時(shí)要用的函數(shù),它們已經(jīng)陪我走過了不少年頭了,風(fēng)里來雨里去,縫縫補(bǔ)補(bǔ)又幾年。

收藏多年的MySQL函數(shù)大全筆記,用到的時(shí)候翻一下,百度都省了

 

為了讓大家更加簡(jiǎn)潔明了地看懂它們,我已對(duì)老文件做了很多處理,去掉了很多只有我自己才能看得懂的東西,盡可能還原一份大家都能看得懂的東西。

在文章末尾也會(huì)給大家附上我自己整理的源文件,可以在文件的基礎(chǔ)上進(jìn)行靈活地修改和批注等操作,形成屬于自己的資料筆記。


筆記目錄

一、流程控制函數(shù)

二、聚合函數(shù)

三、加密函數(shù)

四、日期函數(shù)

五、數(shù)字函數(shù)

六、字符串函數(shù)

七、其他函數(shù)源文件


一、流程控制函數(shù)

序號(hào)

函數(shù)

說明

1

IF(test,t,f)

如果test是真,返回t;否則返回f

2

IFNULL(arg1,arg2)

如果arg1不是空,返回arg1,否則返回arg2

3

NULLIF(arg1,arg2)

如果arg1=arg2返回NULL;否則返回arg1

4

CASE WHEN[test1] THEN [result1]…ELSE [default] END

如果testN是真,則返回resultN,否則返回default

5

CASE [test] WHEN[val1] THEN [result]…ELSE [default]END

如果test和valN相等,則返回resultN,否則返回default

舉例:IF(test,v1,v2)如果表達(dá)式 expr 成立,返回結(jié)果 v1;否則,返回結(jié)果 v2

SELECT IF(1>0,'yes','no');

結(jié)果:

yes

二、聚合函數(shù)

序號(hào)

函數(shù)

說明

1

COUNT(col)

統(tǒng)計(jì)查詢結(jié)果的行數(shù)

2

MIN(col)

查詢指定列的最小值

3

SUM(col)

求和,返回指定列的總和

4

AVG(col)

求平均值,返回指定列數(shù)據(jù)的平均值

舉例:SUM(expression)返回指定字段的總和

SELECT SUM(age) AS totalAage FROM Student;

結(jié)果:

age的總和

三、加密函數(shù)

序號(hào)

函數(shù)

說明

1

SHA()

計(jì)算字符串str的安全散列算法(SHA)校驗(yàn)和

2

PASSword(str)

返回字符串str的加密版本,這個(gè)加密過程是不可逆轉(zhuǎn)的,和UNIX密碼加密過程使用不同的算法

3

MD5()

計(jì)算字符串str的MD5校驗(yàn)和

4

ENCRYPT(str,salt)

使用UNIXcrypt()函數(shù),用關(guān)鍵詞salt(一個(gè)可以惟一確定口令的字符串,就像鑰匙一樣)加密字符串str

5

ENCODE(str,key)

使用key作為密鑰加密字符串str,調(diào)用ENCODE()的結(jié)果是一個(gè)二進(jìn)制字符串,它以BLOB類型存儲(chǔ)

示例1:在字符串上實(shí)現(xiàn)ENCODE函數(shù)。

SELECT  
ENCODE('geeksforgeeks', 'passwordstring'); 

結(jié)果:

Q)?P????j[K 

四、日期函數(shù)

序號(hào)

函數(shù)

說明

1

CURDATE()

返回當(dāng)前日期

2

CURRENT_DATE()

返回當(dāng)前日期

3

CURRENT_TIME

返回當(dāng)前時(shí)間

4

CURRENT_TIMESTAMP()

返回當(dāng)前日期和時(shí)間

5

CURTIME()

返回當(dāng)前時(shí)間

6

DATE()

從日期或日期時(shí)間表達(dá)式中提取日期值

7

DATEDIFF(d1,d2)

計(jì)算日期 d1->d2 之間相隔的天數(shù)

8

YEAR(d)

返回年份

9

YEARWEEK(date, mode)

返回年份及第幾周(0到53),mode 中 0 表示周天,1表示周一,以此類推

10

WEEKOFYEAR(d)

計(jì)算日期 d 是本年的第幾個(gè)星期,范圍是 0 到 53

11

WEEKDAY(d)

日期 d 是星期幾,0 表示星期一,1 表示星期二

12

WEEK(d)

計(jì)算日期 d 是本年的第幾個(gè)星期,范圍是 0 到 53

13

TO_DAYS(d)

計(jì)算日期 d 距離 0000 年 1 月 1 日的天數(shù)

14

TIMESTAMP(expression, interval)

單個(gè)參數(shù)時(shí),函數(shù)返回日期或日期時(shí)間表達(dá)式;有2個(gè)參數(shù)時(shí),將參數(shù)加和

15

TIMEDIFF(time1, time2)

計(jì)算時(shí)間差值

16

TIME_TO_SEC(t)

將時(shí)間 t 轉(zhuǎn)換為秒

17

TIME_FORMAT(t,f)

按表達(dá)式 f 的要求顯示時(shí)間 t

18

TIME(expression)

提取傳入表達(dá)式的時(shí)間部分

19

SYSDATE()

返回當(dāng)前日期和時(shí)間

20

SUBTIME(t,n)

時(shí)間 t 減去 n 秒的時(shí)間

21

SUBDATE(d,n)

日期 d 減去 n 天后的日期

22

STR_TO_DATE(string, format_mask)

將字符串轉(zhuǎn)變?yōu)槿掌?/p>

23

SEC_TO_TIME(s)

將以秒為單位的時(shí)間 s 轉(zhuǎn)換為時(shí)分秒的格式

24

SECOND(t)

返回 t 中的秒鐘值

25

QUARTER(d)

返回日期d是第幾季節(jié),返回 1 到 4

26

SECOND(t)

返回 t 中的秒鐘值

27

QUARTER(d)

返回日期d是第幾季節(jié),返回 1 到 4

28

PERIOD_DIFF(period1, period2)

返回兩個(gè)時(shí)段之間的月份差值

29

PERIOD_ADD(period, number)

為 年-月 組合日期添加一個(gè)時(shí)段

30

NOW()

返回當(dāng)前日期和時(shí)間

31

MONTH(d)

返回日期d中的月份值,1 到 12

32

MONTHNAME(d)

返回日期當(dāng)中的月份名稱,如 November

33

MINUTE(t)

返回 t 中的分鐘值

34

MICROSECOND(date)

返回日期參數(shù)所對(duì)應(yīng)的微秒數(shù)

35

MAKETIME(hour, minute, second)

組合時(shí)間,參數(shù)分別為小時(shí)、分鐘、秒

36

MAKEDATE(year, day-of-year)

基于給定參數(shù)年份 year 和所在年中的天數(shù)序號(hào) day-of-year 返回一個(gè)日期

37

LOCALTIMESTAMP()

返回當(dāng)前日期和時(shí)間

38

LOCALTIME()

返回當(dāng)前日期和時(shí)間

39

LAST_DAY(d)

返回給給定日期的那一月份的最后一天

40

HOUR(t)

返回 t 中的小時(shí)值

41

FROM_DAYS(n)

計(jì)算從 0000 年 1 月 1 日開始 n 天后的日期

42

EXTRACT(type FROM d)

從日期 d 中獲取指定的值,type 指定返回的值。 type可取值為時(shí)、分、秒、周等等

43

DAYOFYEAR(d)

計(jì)算日期 d 是本年的第幾天

44

DAYOFWEEK(d)

日期 d 今天是星期幾,1 星期日,2 星期一,以此類推

45

DAYOFMONTH(d)

計(jì)算日期 d 是本月的第幾天

46

DAYNAME(d)

返回日期 d 是星期幾,如 Saturday,Sunday

47

DAY(d)

返回日期值 d 的日期部分

48

DATE_SUB(date,INTERVAL expr type)

函數(shù)從日期減去指定的時(shí)間間隔。

49

DATE_FORMAT(d,f)

按表達(dá)式 f的要求顯示日期 d

50

ADDTIME(t,n)

n 是一個(gè)時(shí)間表達(dá)式,時(shí)間 t 加上時(shí)間表達(dá)式 n

51

ADDDATE(d,n)

計(jì)算起始日期 d 加上 n 天的日期

舉例:DAYNAME(d)返回日期 d 是星期幾,如 Monday,Tuesday

SELECT DAYNAME('2018-6-1 12:45:21');

結(jié)果:

Friday

五、數(shù)字函數(shù)

序號(hào)

函數(shù)

說明

1

SUM(expression)

返回指定字段的總和

2

SQRT(x)

返回x的平方根

3

SIN(x)

求正弦值(參數(shù)是弧度)

4

SIGN(x)

返回 x 的符號(hào),x 是負(fù)數(shù)、0、正數(shù)分別返回 -1、0 和 1

5

ROUND(x)

返回離 x 最近的整數(shù)

6

RAND()

返回 0 到 1 的隨機(jī)數(shù)

7

RADIANS(x)

將角度轉(zhuǎn)換為弧度

8

POWER(x,y)

返回 x 的 y 次方

9

POW(x,y)

返回 x 的 y 次方

10

PI()

返回圓周率(3.141593)

11

MOD(x,y)

返回 x 除以 y 以后的余數(shù)

12

MIN(expression)

返回字段 expression 中的最小值

13

MAX(expression)

返回字段 expression 中的最大值

14

LOG2(x)

返回以 2 為底的對(duì)數(shù)

15

LOG(x) 或 LOG(base, x)

返回自然對(duì)數(shù)(以 e 為底的對(duì)數(shù)),如果帶有 base 參數(shù),則 base 為指定帶底數(shù)。

16

LN

返回?cái)?shù)字的自然對(duì)數(shù),以 e 為底。

17

LEAST(expr1, expr2, expr3, …)

返回列表中的最小值

18

GREATEST(expr1, expr2, expr3, …)

返回列表中的最大值

19

FLOOR(x)

返回小于或等于 x 的最大整數(shù)

20

EXP(x)

返回 e 的 x 次方

21

n DIV m

整除,n 為被除數(shù),m 為除數(shù)

22

DEGREES(x)

將弧度轉(zhuǎn)換為角度

23

COUNT(expression)

返回查詢的記錄總數(shù),expression 參數(shù)是一個(gè)字段或者 * 號(hào)

24

COT(x)

求余切值(參數(shù)是弧度)

25

COS(x)

求余弦值(參數(shù)是弧度)

26

CEILING(x)

返回大于或等于 x 的最小整數(shù)

27

CEIL(x)

返回大于或等于 x 的最小整數(shù)

28

AVG(expression)

返回一個(gè)表達(dá)式的平均值,expression 是一個(gè)字段

29

ATAN(x)

求反正切值(參數(shù)是弧度)

30

ASIN(x)

求反正弦值(參數(shù)是弧度)

31

ACOS(x)

求x的反余弦值(參數(shù)是弧度)

32

ABS(x)

返回 x 的絕對(duì)值

33

TAN(x)

求正切值(參數(shù)是弧度)

34

TRUNCATE(x,y)

返回?cái)?shù)值 x 保留到小數(shù)點(diǎn)后 y 位的值(與 ROUND 最大的區(qū)別是不會(huì)進(jìn)行四舍五入)

舉例:CEIL(x)/CEILING(x) 返回大于或等于 x 的最小整數(shù)

SELECT CEIL(2.5);
SELECT CEILING(2.5);   

結(jié)果:

3

六、字符串函數(shù)

序號(hào)

函數(shù)

說明

1

UPPER(s)

將字符串轉(zhuǎn)換為大寫

2

UCASE(s)

將字符串轉(zhuǎn)換為大寫

3

TRIM(s)

去掉字符串 s 開始和結(jié)尾處的空格

4

SUBSTRING_INDEX(s, delimiter, number)

返回從字符串 s 的第 number 個(gè)出現(xiàn)的分隔符 delimiter 之后的子串。
如果 number 是正數(shù),返回第 number 個(gè)字符左邊的字符串。
如果 number 是負(fù)數(shù),返回第(number 的絕對(duì)值(從右邊數(shù)))個(gè)字符右邊的字符串。

5

SUBSTRING(s, start, length)

從字符串 s 的 start 位置截取長(zhǎng)度為 length 的子字符串

6

SUBSTR(s, start, length)

從字符串 s 的 start 位置截取長(zhǎng)度為 length 的子字符串

7

STRCMP(s1,s2)

比較字符串 s1 和 s2,如果 s1 與 s2 相等返回 0 ,如果 s1>s2 返回 1,如果 s1<s2 返回 -1

8

SPACE(n)

返回 n 個(gè)空格

9

RTRIM(s)

去掉字符串 s 結(jié)尾處的空格

10

RPAD(s1,len,s2)

在字符串 s1 的結(jié)尾處添加字符串 s2,使字符串的長(zhǎng)度達(dá)到 len

11

RIGHT(s,n)

返回字符串 s 的后 n 個(gè)字符

12

REVERSE(s)

將字符串s的順序反過來

13

REPLACE(s,s1,s2)

將字符串 s2 替代字符串 s 中的字符串 s1

14

REPEAT(s,n)

將字符串 s 重復(fù) n 次

15

POSITION(s1 IN s)

從字符串 s 中獲取 s1 的開始位置

16

MID(s,n,len)

從字符串 s 的 n 位置截取長(zhǎng)度為 len 的子字符串,同 SUBSTRING(s,n,len)

17

LTRIM(s)

去掉字符串 s 開始處的空格

18

LPAD(s1,len,s2)

在字符串 s1 的開始處填充字符串 s2,使字符串長(zhǎng)度達(dá)到 len

19

LOWER(s)

將字符串 s 的所有字母變成小寫字母

20

LEFT(s,n)

返回字符串 s 的前 n 個(gè)字符

21

LCASE(s)

將字符串 s 的所有字母變成小寫字母

22

LOCATE(s1,s)

從字符串 s 中獲取 s1 的開始位置

23

INSERT(s1,x,len,s2)

字符串 s2 替換 s1 的 x 位置開始長(zhǎng)度為 len 的字符串

24

FORMAT(x,n)

函數(shù)可以將數(shù)字 x 進(jìn)行格式化 “#,###.##”, 將 x 保留到小數(shù)點(diǎn)后 n 位,最后一位四舍五入。

25

FIND_IN_SET(s1,s2)

返回在字符串s2中與s1匹配的字符串的位置

26

FIELD(s,s1,s2…)

返回第一個(gè)字符串 s 在字符串列表(s1,s2…)中的位置

27

CONCAT_WS(x, s1,s2…sn)

同 CONCAT(s1,s2,…) 函數(shù),但是每個(gè)字符串之間要加上 x,x 可以是分隔符

28

CONCAT(s1,s2…sn)

字符串 s1,s2 等多個(gè)字符串合并為一個(gè)字符串

29

CHARACTER_LENGTH(s)

返回字符串 s 的字符數(shù)

30

CHAR_LENGTH(s)

返回字符串 s 的字符數(shù)

31

ASCII(s)

返回字符串 s 的第一個(gè)字符的 ASCII 碼。

舉例:INSERT(s1,x,len,s2)字符串 s2 替換 s1 的 x 位置開始長(zhǎng)度為 len 的字符串

SELECT INSERT("google.com", 1, 5, "baidu");

結(jié)果:

baidu

七、其他函數(shù)

序號(hào)

函數(shù)

說明

1

USER()

返回當(dāng)前用戶

2

SESSION_USER()

返回當(dāng)前用戶

3

SYSTEM_USER()

返回當(dāng)前用戶

4

CURRENT_USER()

返回當(dāng)前用戶

5

VERSION()

返回?cái)?shù)據(jù)庫的版本號(hào)

6

DATABASE()

返回當(dāng)前數(shù)據(jù)庫名

7

COALESCE(expr1, expr2, …, expr_n)

返回參數(shù)中的第一個(gè)非空表達(dá)式(從左向右)

8

CONNECTION_ID()

返回唯一的連接 ID

9

CONV(x,f1,f2)

返回 f1 進(jìn)制數(shù)變成 f2 進(jìn)制數(shù)

10

CONVERT(s USING cs)

函數(shù)將字符串 s 的字符集變成 cs

11

CAST(x AS type)

轉(zhuǎn)換數(shù)據(jù)類型

12

BINARY(s)

將字符串 s 轉(zhuǎn)換為二進(jìn)制字符串

13

BIN(x)

返回 x 的二進(jìn)制編碼

14

IF(expr,v1,v2)

如果表達(dá)式 expr 成立,返回結(jié)果 v1;否則,返回結(jié)果 v2

15

IFNULL(v1,v2)

如果 v1 的值不為 NULL,則返回 v1,否則返回 v2。

16

ISNULL(expression)

判斷表達(dá)式是否為 NULL

17

LAST_INSERT_ID()

返回最近生成的 AUTO_INCREMENT 值

18

NULLIF(expr1, expr2)

比較兩個(gè)字符串,如果字符串 expr1 與 expr2 相等 返回 NULL,否則返回 expr1

19

CASE expression
WHEN condition1 THEN
result1
WHEN condition2 THEN
result2

WHEN conditionN THEN
resultN
ELSE result
END

CASE 表示函數(shù)開始,END 表示函數(shù)結(jié)束。
如果 condition1 成立,則返回 result1,
如果 condition2 成立,則返回 result2,
當(dāng)全部不成立則返回 result,而當(dāng)有一個(gè)成立之后,后面的就不執(zhí)行了。

舉例:CONV(x,f1,f2)返回 f1 進(jìn)制數(shù)變成 f2 進(jìn)制數(shù)

SELECT CONV(13,10,2);

結(jié)果:

1101

分享到:
標(biāo)簽:函數(shù) MySQL
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定