自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL的常用函數(shù),你學(xué)會(huì)幾個(gè)?

數(shù)據(jù)庫(kù) MySQL
在MySQL中,聚合函數(shù)主要由:count,sum,min,max,avg,這些聚合函數(shù)我們之前都學(xué)過(guò),不再重復(fù)。這里我們學(xué)習(xí)另外一個(gè)函數(shù):group_concat(),該函數(shù)用戶(hù)實(shí)現(xiàn)行的合并。

在開(kāi)發(fā)中,數(shù)據(jù)庫(kù)的種類(lèi)千奇百怪,有各種,比如早期的 SQLServer,Mysql,Oracle,現(xiàn)在還有許多國(guó)產(chǎn)的數(shù)據(jù)庫(kù),但是有不少開(kāi)發(fā)還是使用的 Mysql,但是對(duì)于 Mysql 中的各種各樣的函數(shù),用的卻是沒(méi)有那么多的,今天了不起就來(lái)帶著大家一起看看這個(gè) Mysql 的各種常用的函數(shù)。

Mysql 的日期函數(shù)

DATE_FORMAT(date,format)

按照指定的格式,格式化日期,我們來(lái)使用一下:

SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s');

一般我們使用的時(shí)候,都是經(jīng)常在條件中使用的這個(gè)比如:

where DATE_FORMAT(createTime,'%Y-%m-%d') = '2020-11-11'

而且我們也可以對(duì)他進(jìn)行分組比如:

GROUP BY DATE_FORMAT(createTime,'%H');

這樣的分組條件就是小時(shí),每小時(shí)有多少數(shù)據(jù),如果是每天,則換成 %d 就可以了

STR_TO_DATE(str,format)

這個(gè)則是把我們這個(gè)字符串轉(zhuǎn)為日期

比如下面這樣的:

SELECT STR_TO_DATE('2023-11-21','%Y-%m-%d');

YEAR()

MONTH()

DAY()

SELECT YEAR(NOW());

SELECT MONTH(NOW());

SELECT DAY(NOW())

參數(shù)我們傳入日期,最后給我們返回的就是我們想要的年月日的信息。

DAYOFYEAR(date)

這個(gè)函數(shù)幾乎很少用,是用來(lái)表示,當(dāng)前日期是今年的第幾天

SELECT DAYOFYEAR(NOW());
333

其實(shí)在開(kāi)發(fā)過(guò)程中,我們用到的日期函數(shù)并不會(huì)很多,我們用到的關(guān)于這個(gè)字符串函數(shù),才是最多的。

字符串函數(shù)

CHAR_LENGTH(str)

CHARACTER_LENGTH(str)

這兩個(gè)函數(shù)都是用來(lái)返回字符串的字符數(shù)的:

select CHAR_LENGTH("hello");

select CHARACTER_LENGTH('hello');

結(jié)果:5

CONCAT(str1,str2,...)

CONCAT_WS(separator,str1,str2,...)

第一個(gè)就是多個(gè)字符串合并成一個(gè)字符串,第二個(gè)的意思則是,再中間可以拼接一段內(nèi)容,或者理解為用中間的內(nèi)容隔開(kāi)。

這個(gè)幾乎是我們經(jīng)常用的函數(shù),用來(lái)做兩個(gè)字段的合并等等操作

SELECT CONCAT('hello','world');
helloworld


SELECT CONCAT_WS(',','hello','world');

hello,world

FIELD(str,str1,str2,str3,...)

返回第一個(gè)字符串再字符串列表的位置:

SELECT FIELD('x','d','c','x');

3

TRIM(' xxxx ')

這個(gè)也是我們?cè)陂_(kāi)發(fā)的時(shí)候經(jīng)常會(huì)用到,但是在數(shù)據(jù)庫(kù)層面其實(shí)很少用到,最多的還是在 Java 代碼里面去除空格使用,再數(shù)據(jù)庫(kù)中,含義也是一樣的,都是用來(lái)去除字符串開(kāi)始和結(jié)尾的空格。

這個(gè)時(shí)候就有人想問(wèn)了,如果我只想去掉開(kāi)頭的,或者只想去掉結(jié)尾的空格怎么辦?

LTRIM(str)

RTRIM(str)

第一個(gè)是去掉開(kāi)始的空格,第二個(gè)是去掉結(jié)尾的空格,這個(gè)了不起都不用給大家演示,一個(gè)是去掉左邊的,一個(gè)是去掉右邊的, 沒(méi)有R 沒(méi)有L 的 則是兩邊都去掉。

UCASE(str)

UPPER(str)

這兩個(gè)函數(shù)效果是一樣的,轉(zhuǎn)換字符串字符為大寫(xiě),既然有大寫(xiě),那么就勢(shì)必會(huì)有小寫(xiě)

LCASE(str)

LOWER(str)

上述兩個(gè)方法是吧字符串轉(zhuǎn)為小寫(xiě)

**REPLACE() **

將字符串中出現(xiàn)的所有子字符串替換為新的子字符串

REVERSE()

這個(gè)函數(shù)就比較有意思了,把字符串給翻轉(zhuǎn)過(guò)來(lái),但是這個(gè)函數(shù)不是屬于常用的函數(shù),了不起實(shí)在是想不出什么需求,需要吧這個(gè)字符串給你倒過(guò)來(lái),難道還想倒背如流?

聚合函數(shù)

在MySQL中,聚合函數(shù)主要由:count,sum,min,max,avg,這些聚合函數(shù)我們之前都學(xué)過(guò),不再重復(fù)。這里我們學(xué)習(xí)另外一個(gè)函數(shù):group_concat(),該函數(shù)用戶(hù)實(shí)現(xiàn)行的合并。

group_concat()函數(shù)首先根據(jù)group by指定的列進(jìn)行分組,并且用分隔符分隔,將同一個(gè)分組中的值連接起來(lái),返回一個(gè)字符串結(jié)果。

group_concat([distinct] 字段名 [order by 排序字段 asc/desc] [separator '分隔符'])

注意:

  • 使用distinct可以排除重復(fù)值;
  • 如果需要對(duì)結(jié)果中的值進(jìn)行排序,可以使用order by子句;
  • separator是一個(gè)字符串值,默認(rèn)為逗號(hào)。

數(shù)學(xué)函數(shù)

round(x,保留位數(shù))函數(shù)

四舍五入; 當(dāng)對(duì)正數(shù)進(jìn)行四舍五入:按照正常的計(jì)算方式,四舍五入即可。當(dāng)對(duì)負(fù)數(shù)進(jìn)行四舍五入:先把符號(hào)丟到一邊,對(duì)去掉負(fù)號(hào)后的正數(shù)進(jìn)行四舍五入,完成以后,再把這個(gè)負(fù)號(hào),補(bǔ)上即可。

select round(1.595658,3) as out_put;

ceil(x)函數(shù)

向上取整,返回>=該參數(shù)的最小整數(shù)。求的是大于等于這個(gè)數(shù)字的最小整數(shù)

select ceil(1.9) as out_put;
select ceil(1.1) as out_put;

至于數(shù)學(xué)函數(shù)中的 avg 和 sum 了不起都不用說(shuō)了,一個(gè)平均數(shù),一個(gè)求和,

責(zé)任編輯:武曉燕 來(lái)源: Java極客技術(shù)
相關(guān)推薦

2022-11-16 09:04:36

SQL查詢(xún)SELECT

2022-07-18 08:08:16

Go?語(yǔ)言技巧

2022-12-26 08:25:16

JavaScriptweb瀏覽器

2022-06-30 08:31:54

排序函數(shù)SQL

2023-04-11 08:49:42

排序函數(shù)SQL

2024-03-01 13:48:00

Git配置系統(tǒng)

2022-11-03 08:16:33

MySQL·窗口函數(shù)

2021-10-12 09:20:02

數(shù)據(jù)庫(kù)SQL腳本

2022-08-30 08:13:30

流程模板定期復(fù)盤(pán)數(shù)據(jù)

2024-10-31 09:15:09

2023-10-31 08:23:54

網(wǎng)絡(luò)命令Linux

2018-06-21 15:17:15

機(jī)器學(xué)習(xí)

2023-09-13 08:00:57

云原生Java開(kāi)發(fā)者

2020-02-23 23:29:07

Python編程開(kāi)發(fā)

2021-05-06 15:15:13

Python工具代碼

2023-11-08 10:12:40

架構(gòu)函數(shù)元素

2023-05-15 16:46:03

2024-04-26 08:10:49

2023-03-30 08:00:56

MySQL日期函數(shù)

2022-12-26 08:09:51

mac設(shè)置搜索
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)