国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

這篇具有很好參考價(jià)值的文章主要介紹了MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

一:?jiǎn)涡泻瘮?shù)

?1. 數(shù)值函數(shù)

(1)基本函數(shù)

(2)角度與弧度互換函數(shù)

(3)三角函數(shù)

(4)指數(shù)與對(duì)數(shù)

(5)進(jìn)制間的轉(zhuǎn)換

2. 字符串函數(shù)

3. 日期和時(shí)間函數(shù)

(1)獲取日期、時(shí)間

(2)日期與時(shí)間戳的轉(zhuǎn)換

(3)?獲取月份、星期、星期數(shù)、天數(shù)等函數(shù)

(4)日期的操作函數(shù)

(5)時(shí)間和秒鐘轉(zhuǎn)換的函數(shù)

(6)計(jì)算日期和時(shí)間的函數(shù)?

(7)日期的格式化與解析

4. 流程控制函數(shù)

5. 加密與解密函數(shù)

6. MySQL信息函數(shù)

7. 其他函數(shù)


一:?jiǎn)涡泻瘮?shù)

????????我們?cè)谑褂?SQL 語(yǔ)言的時(shí)候,不是直接和這門(mén)語(yǔ)言打交道,而是通過(guò)它使用不同的數(shù)據(jù)庫(kù)軟件,即DBMS。DBMS 之間的差異性很大,遠(yuǎn)大于同一個(gè)語(yǔ)言不同版本之間的差異。實(shí)際上,只有很少的函數(shù)是 被 DBMS 同時(shí)支持的。比如,大多數(shù) DBMS 使用(||)或者(+)來(lái)做拼接符,而在 MySQL 中的字符串拼 接函數(shù)為concat()。大部分 DBMS 會(huì)有自己特定的函數(shù),這就意味著采用 SQL 函數(shù)的代碼可移植性是很 差的,因此在使用函數(shù)的時(shí)候需要特別注意。

????????MySQL提供的內(nèi)置函數(shù)從 實(shí)現(xiàn)的功能角度 可以分為數(shù)值函數(shù)、字符串函數(shù)、日期和時(shí)間函數(shù)、流程控制 函數(shù)、加密與解密函數(shù)、獲取MySQL信息函數(shù)、聚合函數(shù)等。這里,我將這些豐富的內(nèi)置函數(shù)再分為兩類: 單行函數(shù) 、 聚合函數(shù)(或分組函數(shù))

兩種SQL函數(shù)

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

單行函數(shù)

①操作數(shù)據(jù)對(duì)象;?

②接受參數(shù)返回一個(gè)結(jié)果;

③只對(duì)一行進(jìn)行變換;?

④每行返回一個(gè)結(jié)果;

⑤可以嵌套;

⑥參數(shù)可以是一列或一個(gè)值;

?1. 數(shù)值函數(shù)

(1)基本函數(shù)

①第一組

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:

SELECT 
ABS(-123),ABS(32),SIGN(-23),SIGN(43),PI(),CEIL(32.32),CEILING(-43.23),FLOOR(32.32),FLOOR(-43.23),MOD(12,5)
FROM DUAL;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

②第二組?MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:?

SELECT RAND(),RAND(),RAND(10),RAND(10),RAND(-1),RAND(-1)
FROM DUAL;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

③第三組

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:?

SELECT 
ROUND(12.33),ROUND(12.343,2),ROUND(12.324,-1),TRUNCATE(12.66,1),TRUNCATE(12.66,-1),SQRT(2)
FROM DUAL;

執(zhí)行結(jié)果:?

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

(2)角度與弧度互換函數(shù)

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

?測(cè)試:

SELECT RADIANS(30),RADIANS(60),RADIANS(90),DEGREES(2*PI()),DEGREES(RADIANS(90))
FROM DUAL;

執(zhí)行結(jié)果:?

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

(3)三角函數(shù)

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:?

SELECT 
SIN(RADIANS(30)),DEGREES(ASIN(1)),TAN(RADIANS(45)),DEGREES(ATAN(1))
FROM DUAL;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

(4)指數(shù)與對(duì)數(shù)

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:

SELECT POW(2,5),POWER(2,4),EXP(2),LN(10),LOG10(10),LOG2(4)
FROM DUAL;

執(zhí)行結(jié)果:?MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

(5)進(jìn)制間的轉(zhuǎn)換

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:

SELECT BIN(10),HEX(10),OCT(10),CONV(10,2,8)
FROM DUAL;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

2. 字符串函數(shù)

注意:MySQL中,字符串的位置是從1開(kāi)始的。

①第一組

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:ASCII、CHAR_LENGTH、LENGTH

SELECT ASCII('Abcdfsf'),CHAR_LENGTH('hello'),CHAR_LENGTH('我們'),
LENGTH('hello'),LENGTH('我們')
FROM DUAL;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:CONCAT、CONCAT_WS

SELECT CONCAT(e1.ename,' worked for ',e2.ename)
FROM emp e1
JOIN emp e2
ON e1.mgr = e2.empno;

SELECT CONCAT_WS('-','hello','world','hello','beijing')
FROM DUAL;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:INSERT、REPLACE

SELECT INSERT('helloworld',2,3,'aaaaa'),REPLACE('hello','ll','mm')
FROM DUAL;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試: UPPER、LOWER

SELECT UPPER('HelLo'),LOWER('HelLo')
FROM DUAL;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:LEFT、RIGHT

SELECT LEFT('hello',2),RIGHT('hello',3),RIGHT('hello',13)
FROM DUAL;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:LPAD(實(shí)現(xiàn)左對(duì)齊)、RPAD(實(shí)現(xiàn)右對(duì)齊);小數(shù)點(diǎn)也算一位

SELECT ename,LPAD(sal,8,'*')
FROM emp;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

②第二組

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:LTRIM、RTRIM

select concat('--->',LTrim('  123   '),'<---'),concat('--->',RTrim('  123   '),'<---')
from dual;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:TRIM

SELECT CONCAT('--->',TRIM('  123   '),'<---')
FROM DUAL;

SELECT CONCAT('--->',TRIM( 'a' FROM 'aabbcca'),'<---')
FROM DUAL;

SELECT CONCAT('--->',TRIM(LEADING 'a' FROM 'aabbcca'),'<---'),CONCAT('--->',TRIM(TRAILING 'a' FROM 'aabbcca'),'<---')
FROM DUAL;

?執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

③第三組

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:REPEAT、SPACE、STRCMP

SELECT REPEAT('hello',4),CONCAT(1,SPACE(5),2),STRCMP('abc','abe')
FROM DUAL;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:SUBSTR、LOCATE

SELECT SUBSTR('hello',2,2),LOCATE('ll','hello')
FROM DUAL;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:ELT、FIFLD、FIND_IN_SET

SELECT ELT(2,'a','b','c','d'),FIELD('mm','gg','jj','mm','dd','mm'),
FIND_IN_SET('mm','gg,mm,jj,dd,mm,gg')
FROM DUAL;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:REVERSE、NULLIF

SELECT REVERSE("abcd") 
FROM DUAL;

SELECT empno,NULLIF(LENGTH(ename),LENGTH(job)) 'compare'
FROM emp;

執(zhí)行結(jié)果:?

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

3. 日期和時(shí)間函數(shù)

(1)獲取日期、時(shí)間

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:

select curdate(),curTime(),now(),utc_date(),utc_time()
from dual;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

(2)日期與時(shí)間戳的轉(zhuǎn)換

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:?

SELECT UNIX_TIMESTAMP(),UNIX_TIMESTAMP(NOW()),UNIX_TIMESTAMP('1999-01-01'),FROM_UNIXTIME(UNIX_TIMESTAMP(NOW()))
FROM DUAL;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

(3)?獲取月份、星期、星期數(shù)、天數(shù)等函數(shù)

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:?

SELECT YEAR(CURDATE()),MONTH(CURDATE()),DAY(CURDATE()),
HOUR(CURTIME()),MINUTE(NOW()),SECOND(SYSDATE())
FROM DUAL;

執(zhí)行結(jié)果:?

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:?

SELECT MONTHNAME('2021-10-26'),DAYNAME('2021-10-26'),WEEKDAY('2021-10-26'),
QUARTER(CURDATE()),WEEK(CURDATE()),DAYOFYEAR(NOW()),
DAYOFMONTH(NOW()),DAYOFWEEK(NOW())
FROM DUAL;

執(zhí)行結(jié)果:?

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

(4)日期的操作函數(shù)

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

XTRACT(type FROM date)函數(shù)中type的取值與含義:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))測(cè)試:?

SELECT EXTRACT(MINUTE FROM NOW()),EXTRACT( WEEK FROM NOW()),
EXTRACT( QUARTER FROM NOW()),EXTRACT( MINUTE_SECOND FROM NOW())
FROM DUAL;

執(zhí)行結(jié)果:?

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

(5)時(shí)間和秒鐘轉(zhuǎn)換的函數(shù)

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:

select time_to_sec(now()),sec_to_time(TIME_TO_SEC(NOW()))
from dual;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

(6)計(jì)算日期和時(shí)間的函數(shù)?

第1組:

?以下兩個(gè)函數(shù)記住一個(gè)就行,使用DATE_ADD的INTERVAL值設(shè)置為負(fù)數(shù)就能達(dá)到DATE_SUB的效果!

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

上述函數(shù)中type的取值:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:

SELECT DATE_ADD(NOW(), INTERVAL 1 DAY) AS col1,DATE_ADD('2021-10-21 23:32:12',INTERVAL 
1 SECOND) AS col2,
ADDDATE('2021-10-21 23:32:12',INTERVAL 1 SECOND) AS col3,
DATE_ADD('2021-10-21 23:32:12',INTERVAL '1_1' MINUTE_SECOND) AS col4,
DATE_ADD(NOW(), INTERVAL -1 YEAR) AS col5, #可以是負(fù)數(shù)
DATE_ADD(NOW(), INTERVAL '1_1' YEAR_MONTH) AS col6 #需要單引號(hào)
FROM DUAL;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

第2組:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:

SELECT ADDTIME(NOW(),20),SUBTIME(NOW(),30),SUBTIME(NOW(),'1:1:3'),DATEDIFF(NOW(),'2021-10-01'),
TIMEDIFF(NOW(),'2021-10-25 22:10:10'),FROM_DAYS(366),TO_DAYS('0000-12-25'),
LAST_DAY(NOW()),MAKEDATE(YEAR(NOW()),12),MAKETIME(10,21,23),PERIOD_ADD(20200101010101,10)
FROM DUAL;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

(7)日期的格式化與解析

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

上述 非GET_FORMAT 函數(shù)中fmt參數(shù)常用的格式符:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))GET_FORMAT函數(shù)(相當(dāng)于DATE_FORMAT的提升版)中date_type和format_type參數(shù)取值如下:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

格式化:日期 ---> 字符串

SELECT DATE_FORMAT(CURDATE(),'%Y-%M-%D'),
DATE_FORMAT(NOW(),'%Y-%m-%d'),TIME_FORMAT(CURTIME(),'%h:%i:%S'),
DATE_FORMAT(NOW(),'%Y-%M-%D %h:%i:%S %W %w %T %r')
FROM DUAL;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

解析:字符串 ----> 日期

SELECT STR_TO_DATE('2021-October-25th 11:37:30 Monday 1','%Y-%M-%D %h:%i:%S %W %w')
FROM DUAL;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:ET_FORMAT、DATE_FORMAT

SELECT GET_FORMAT(DATE,'USA')
FROM DUAL;

SELECT DATE_FORMAT(CURDATE(),GET_FORMAT(DATE,'USA'))
FROM DUAL;

?執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

4. 流程控制函數(shù)

流程處理函數(shù)可以根據(jù)不同的條件,執(zhí)行不同的處理流程,可以在SQL語(yǔ)句中實(shí)現(xiàn)不同的條件選擇。MySQL中的流程處理函數(shù)主要包括IF()、IFNULL()和CASE()函數(shù)。

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:if

# 判斷工資
SELECT ename,IF(sal >= 3000,'高工資','低工資') "details"
FROM emp;
# comm為null就轉(zhuǎn)換成0
SELECT ename,(sal+IF(comm IS NOT NULL,comm,0))*12 AS yearSal
FROM emp;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:ifnull實(shí)際上是if的一種特殊情況

# 使用if
SELECT ename,(sal+IF(comm IS NOT NULL,comm,0))*12 AS yearSal
FROM emp;

#使用ifnull
SELECT ename,(sal+IFNULL(comm,0))*12 AS yearSal
FROM emp;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:CASE WHEN ... THEN ...WHEN ... THEN ... ELSE ... END

SELECT empno,ename,sal,CASE WHEN sal >=5000 THEN '老板'
			WHEN sal >=3000 THEN '潛力股'
			WHEN sal >=1000 THEN '小屌絲'
			ELSE '草根' -- 可以沒(méi)有else
			END AS 'detail'
FROM emp;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:CASE.....WHEN ... THEN ...WHEN ... THEN ... ELSE ... END

需求:查詢部門(mén)號(hào)為 10,20, 30 的員工信息, 若部門(mén)號(hào)為 10, 則打印其工資的 1.1 倍, 20 號(hào)部門(mén), 則打印其 工資的 1.2 倍, 30 號(hào)部門(mén)打印其工資的 1.3 倍數(shù)。

SELECT empno,ename,sal,deptno,CASE deptno WHEN 10 THEN sal*1.1
					WHEN 20 THEN sal*1.2
					WHEN 30 THEN sal*1.3
					END AS 'detail'
FROM emp
WHERE deptno IN (10,20,30);

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

5. 加密與解密函數(shù)

加密與解密函數(shù)主要用于對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行加密和解密處理,以防止數(shù)據(jù)被他人竊取。這些函數(shù)在 保證數(shù)據(jù)庫(kù)安全時(shí)非常有用。

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

注:以上的PASSWORD、MD5、SHA加密方式都是不可逆的,其中PASSWORD在MySQL8中已經(jīng)被棄用了!

SELECT MD5('zhang'),SHA('zhang')
FROM DUAL;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

注:以上的ENCODE的加密方式是可逆的,實(shí)際上和DECODE是一對(duì),ENCODE負(fù)責(zé)加密、DECODE負(fù)責(zé)解密。但是MySQL8.0也已經(jīng)棄用了!

# MySQL8已經(jīng)棄用,第二個(gè)參數(shù)'mysql'相當(dāng)于某個(gè)加密的種子(或者說(shuō)加密的方式)
SELECT ENCODE('atguigu','mysql'),DECODE(ENCODE('atguigu','mysql'),'mysql')
FROM DUAL;

6. MySQL信息函數(shù)

MySQL中內(nèi)置了一些可以查詢MySQL信息的函數(shù),這些函數(shù)主要用于幫助數(shù)據(jù)庫(kù)開(kāi)發(fā)或運(yùn)維人員更好地 對(duì)數(shù)據(jù)庫(kù)進(jìn)行維護(hù)工作。

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:

SELECT VERSION(),CONNECTION_ID(),DATABASE(),
USER(),CHARSET('hello'),COLLATION('hello')
FROM DUAL

執(zhí)行結(jié)果:?

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

7. 其他函數(shù)

MySQL中有些函數(shù)無(wú)法對(duì)其進(jìn)行具體的分類,但是這些函數(shù)在MySQL的開(kāi)發(fā)和運(yùn)維過(guò)程中也是不容忽視的。

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:FORMAT,如果n的值小于或者等于0,則只保留整數(shù)部分

fromat也是四舍五入的和round作用很相似;但是當(dāng)是負(fù)數(shù)時(shí),對(duì)于round會(huì)繼續(xù)四舍五入,到那時(shí)format不會(huì),當(dāng)n的值小等于于0時(shí),只保留整數(shù)部分!

SELECT FORMAT(123.125,2),FORMAT(123.125,-2),ROUND(123.125,-2)
FROM DUAL;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:ONV,實(shí)現(xiàn)進(jìn)制之間的轉(zhuǎn)換

SELECT CONV(16, 10, 2), CONV(8888,10,16), CONV(NULL, 10, 2)
FROM DUAL;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:INET_ATON、INET_NTOA

INET_ATON是將一個(gè)IP轉(zhuǎn)換成一個(gè)數(shù)字,采用的算法是以“192.168.1.100”為例,計(jì)算方式為192乘以256的3次方,加上168乘以256的2次方,加上1乘以256,再加上100。INET_NTOA是將這個(gè)數(shù)字再轉(zhuǎn)換成IP

SELECT INET_ATON('192.168.1.100'),INET_NTOA(3232235876)
FROM DUAL;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:ENCHMARK、用于測(cè)試表達(dá)式的執(zhí)行效率

SELECT BENCHMARK(100000,MD5('mysql'))
FROM DUAL;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))

測(cè)試:CONVERT、可以實(shí)現(xiàn)字符集的轉(zhuǎn)換

SELECT CHARSET('hello'),CHARSET(CONVERT('hello' USING 'gbk'))
FROM DUAL;

執(zhí)行結(jié)果:

MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-438422.html

到了這里,關(guān)于MySQL基礎(chǔ)篇補(bǔ)充 | 單行函數(shù)(數(shù)值函數(shù)、字符串函數(shù)、日期函數(shù)、流程控制函數(shù)、加密與解密函數(shù)、MySQL信息函數(shù))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • MYSQL字符串函數(shù)詳解和實(shí)戰(zhàn)(字符串函數(shù)大全,內(nèi)含示例)

    MYSQL字符串函數(shù)詳解和實(shí)戰(zhàn)(字符串函數(shù)大全,內(nèi)含示例)

    MySQL提供了許多字符串函數(shù),用于處理和操作字符串?dāng)?shù)據(jù)。以下是一些常用的MYSQL字符串函數(shù)。 建議收藏以備后續(xù)用到查閱參考 。 目錄 一、CONCAT 拼接字符串 二、CONCAT_WS 拼接字符串 三、SUBSTR 取子字符串 四、SUBSTRING 取子字符串 五、SUBSTRING_INDEX?取子字符串 六、REPLACE 替換子

    2024年02月05日
    瀏覽(27)
  • MySQL-函數(shù)-字符串函數(shù)

    MySQL-函數(shù)-字符串函數(shù)

    2024年01月23日
    瀏覽(20)
  • Js水幾個(gè)基礎(chǔ)知識(shí)點(diǎn):數(shù)組的操作,字符串和數(shù)組之間的互轉(zhuǎn),持續(xù)補(bǔ)充,歡迎關(guān)注

    一、插入 / 刪除元素: 我們就不從創(chuàng)建開(kāi)始講了,那個(gè)太基礎(chǔ)了,js創(chuàng)建數(shù)組一般都直接let arr = […,…,…],有部分仁兄喜歡new Array(…, …, …),這樣看起來(lái)可能高級(jí)點(diǎn),結(jié)果是一樣的哈。 這里我們直接來(lái)討論插入元素: 1、在末尾插入 / 刪除元素(push / pop,操作原數(shù)組)

    2024年02月09日
    瀏覽(50)
  • MySQL函數(shù)之字符串函數(shù)

    目錄 1.concat:將兩個(gè)或多個(gè)字符串組合成一個(gè)字符串 2.length和char_length函數(shù):以字節(jié)和字符獲取字符串的長(zhǎng)度 3.left:返回具有指定長(zhǎng)度的字符串的左邊部分 4.right:回具有指定長(zhǎng)度的字符串的右邊部分 5.replace:搜索并替換字符串中的子字符串。 6.substring:從具有特定長(zhǎng)度的位

    2024年02月05日
    瀏覽(54)
  • 【C語(yǔ)言基礎(chǔ)】:字符函數(shù)和字符串函數(shù)

    【C語(yǔ)言基礎(chǔ)】:字符函數(shù)和字符串函數(shù)

    ? ? ?? ? 書(shū)山有路勤為徑,學(xué)海無(wú)涯苦作舟。 創(chuàng)作不易,寶子們!如果這篇文章對(duì)你們有幫助的話,別忘了給個(gè)免費(fèi)的贊喲~ 1. 字符分類函數(shù) C語(yǔ)言中有一系列的函數(shù)是對(duì)字符進(jìn)行分類的,就是對(duì)判斷一個(gè)字符屬于什么類型的字符,這類字符函數(shù)的使用都要包含一個(gè)頭文件

    2024年04月17日
    瀏覽(25)
  • MySQL 字符串截取函數(shù)

    MySQL 字符串截取函數(shù):left(), right(), substring(), substring_index()、 mid(), substr()。其中,mid(), substr() 等價(jià)于 substring() 函數(shù),substring() 的功能非常強(qiáng)大和靈活。 1、從左開(kāi)始截取字符串 left(str, length) 說(shuō)明:left(被截取字段,截取長(zhǎng)度) mysql select left(\\\'apple.com\\\', 3); +-------------------

    2024年02月07日
    瀏覽(38)
  • Mysql(函數(shù)) 字符串截取、拆分, 逗號(hào)分割字符串當(dāng)做 in 的條件

    Mysql(函數(shù)) 字符串截取、拆分, 逗號(hào)分割字符串當(dāng)做 in 的條件

    目錄 ?引言:? 數(shù)據(jù)庫(kù)函數(shù)的總結(jié)(一) 1. mysql截取拆分 2. 逗號(hào)分割的字符串 作為in條件 - 2.1 正常的效果應(yīng)該是? --- 2.1.1 錯(cuò)誤:? 3.?字符串合并(多條數(shù)據(jù)合并 用\\\'、\\\'分割) 1. 字符串截取、拆分 可以用于將用戶輸入的字符串按照特定的規(guī)則進(jìn)行截取,比如獲取電話號(hào)碼中的區(qū)號(hào)、

    2024年02月08日
    瀏覽(32)
  • 零基礎(chǔ)教學(xué)必會(huì)篇(詳解字符函數(shù)和字符串函數(shù))(一)

    零基礎(chǔ)教學(xué)必會(huì)篇(詳解字符函數(shù)和字符串函數(shù))(一)

    各位csdn的友友們好,相信大家在編程道路上肯定會(huì)遇見(jiàn)一些非常重要的函數(shù),它們貫穿我們整個(gè)編程,所以我們必須認(rèn)識(shí)、掌握并熟練運(yùn)用它們,這對(duì)于我們之后的編程將會(huì)有很大的幫助,今天阿博就帶領(lǐng)大家拿捏它們?????? 1.strlen的功能介紹 這里我們?cè)赾plusplus上查看一

    2023年04月25日
    瀏覽(25)
  • 【MySQL】字符串截取函數(shù) SUBSTR() 詳解

    【MySQL】字符串截取函數(shù) SUBSTR() 詳解

    從指定位置開(kāi)始的輸入字符串返回一個(gè)子字符串。 SUBSTR() 函數(shù)的常用方法如下。 其中 字符串 可以是具體的字符串內(nèi)容也可以是數(shù)據(jù)庫(kù)的字段,或者字符串運(yùn)算之后的內(nèi)容。 起點(diǎn)和長(zhǎng)度要求是整數(shù),其中長(zhǎng)度必須大于0。 1.返回起點(diǎn)之后的子字符串 2.返回從字符串末尾的第

    2024年02月10日
    瀏覽(101)
  • python教程 入門(mén)學(xué)習(xí)筆記 第6天 數(shù)據(jù)類型轉(zhuǎn)換 字符串轉(zhuǎn)換成數(shù)值 數(shù)值之間互轉(zhuǎn) 其它類型轉(zhuǎn)字符串

    s1=\\\"188\\\" #字符串 ns1=int(s1) #轉(zhuǎn)換成整型數(shù)值 print(ns1+8) #打印數(shù)值結(jié)果 s1=\\\"3.14\\\" #字符串 ns1=float(s1) #轉(zhuǎn)換成浮點(diǎn)型數(shù)值 print(ns1+3) #打印數(shù)值結(jié)果(數(shù)值結(jié)果為6.140000000000001,出現(xiàn)誤差,后面講解決辦法) print(type(ns1)) #獲取新數(shù)值的數(shù)據(jù)類型屬性 z1=78 nz1=float(z1) print(nz1) #打印結(jié)果

    2024年02月14日
    瀏覽(45)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包