日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

MySQL學(xué)習(xí)筆記(6):常用函數(shù)

 行者花雕 2022-03-15

本文更新于2021-02-14,使用MySQL 5.7,操作系統(tǒng)為Deepin 15.4。

全局變量

變量 作用
CURRENT_DATE 當(dāng)前日期
CURRENT_TIME 當(dāng)前時(shí)間
CURRENT_TIMESTAMP 當(dāng)前日期時(shí)間

數(shù)值函數(shù)

函數(shù) 作用
ABS(x) 絕對值
CEIL(x) 向上取整
FLOOR(x) 向下取整
MOD(x, y) 取余,等同x%y
RAND() [0, 1)區(qū)間的隨機(jī)數(shù)
ROUND(x[, n]) 四舍五入至n位小數(shù),n默認(rèn)為0
TRUNCATE(x, n) 截?cái)酁閚位小數(shù)

日期時(shí)間函數(shù)

函數(shù) 作用
CURDATE() 當(dāng)前日期
CURTIME() 當(dāng)前時(shí)間
DATE_ADD(t, INTERVAL expr type) 增加一定時(shí)間間隔
DATEDIFF(later, previous) later減previous相差的天數(shù),不考慮時(shí)間
DATE_FORMAT(t, fmt) 使用fmt格式化
FROM_UNIXTIME(unix) UNIX時(shí)間戳的日期時(shí)間
HOUR(t) 小時(shí)
MINUTE(t) 分鐘
MONTHNAME(t) 月份名(英文)
NOW() 當(dāng)前日期時(shí)間
UNIX_TIMESTAMP(t) 轉(zhuǎn)換成UNIX時(shí)間戳
WEEK(t) 一年中的第幾周
YEAR(t) 年份

DATE_ADD(t, INTERVAL expr type)type可用如下的時(shí)間間隔類型。expr使用對應(yīng)的格式,格式允許不嚴(yán)格的間隔(即任何標(biāo)點(diǎn)符都可)。格式中的數(shù)值可使用負(fù)數(shù)。若整個(gè)格式就是一個(gè)數(shù)值,則可直接使用數(shù)值類型的格式,否則應(yīng)使用字符串類型的格式。

時(shí)間間隔類型 格式
YEAR YY
MONTH MM
DAY DD
HOUR hh
MINUTE mm
SECOND ss
YEAR_MONTH YY-MM
DAY_HOUR DD hh
DAY_MINUTE DD hh:mm
DAY_SECOND DD hh:mm:ss
HOUR_MINUTE hh:mm
HOUR_SECOND hh:mm:ss
MINUTE_SECOND mm:ss

DATE_FORMAT(t, fmt)fmt參數(shù)可使用的格式符如下:

格式符類型 格式符 說明
%S/%s 兩位數(shù)字形式的秒(00, ..., 59)
%i 兩位數(shù)字形式的分(00, ..., 59)
時(shí) %H 兩位數(shù)字形式的時(shí),24小時(shí)制(00, ..., 23)
時(shí) %h/%I 兩位數(shù)字形式的時(shí),12小時(shí)制(01, ..., 12)
時(shí) %k 數(shù)字形式的時(shí),24小時(shí)制(0, ..., 23)
時(shí) %l 數(shù)字形式的時(shí),12小時(shí)制(1, ..., 12)
時(shí)分秒 %T 兩位數(shù)字,24小時(shí)制的時(shí)分秒(hh:mm:ss)
時(shí)分秒 %r 兩位數(shù)字,12小時(shí)制的時(shí)分秒(hh:mm:ss AM/PM)
上下午 %p AM或PM
星期 %W 英文星期(Sunday)
星期 %a 英文縮寫星期(Sun)
星期 %w 數(shù)字形式的星期(0=Sunday)
%d 兩位數(shù)字形式的日(01, ..., 31)
%e 數(shù)字形式的日(1, ..., 31)
%D 英文后綴形式的日(1st)
%M 英文月(January)
%b 英文縮寫月(Jan)
%m 兩位數(shù)字形式的月(01, ..., 12)
%c 數(shù)字形式的月(1, ..., 12)
%Y 4位數(shù)字形式的年
%y 2位數(shù)字形式的年
%j 一年中第幾天,三位數(shù)字形式(001, ..., 366)
%U 一年中第幾周,Sunday為周中第一天,第一個(gè)Sunday為第一周的開始,兩位數(shù)字形式(00, ..., 52)
%u 一年中第幾周,Monday為周中第一天,01-01為第一周的開始,兩位數(shù)字形式(00, ..., 52)
% %% 字符%

字符串函數(shù)

字符串首字符的下標(biāo)為1。

函數(shù) 作用
CONCAT(v[, ...]) 連接字符串,v也可以是數(shù)值
INSERT(str, idx, len, substr) 將str從idx(含)起的len個(gè)字符替換為substr
LEFT(str, len) 取左側(cè)len個(gè)字符
LENGTH(str) 字符串長度
LOWER(str) 轉(zhuǎn)換成小寫
LPAD(str, len, pad) 使用pad在str左側(cè)填充至長度為len
LTRIM(str) 去掉左側(cè)空格
REPEAT(str, n) 重復(fù)n次
REPLACE(str, old, new) 使用new替換old
RIGHT(str, len) 取右側(cè)len個(gè)字符
RPAD(str, len, pad) 使用pad在str右側(cè)填充至長度為len
RTRIM(str) 去除右側(cè)空格
STRCMP(str1, str2) str1<str2返回-1,str1=str2返回0,str1>str2返回1
SUBSTRING(str, idx, len) 截取str從idx(含)起長度為len的子串
TRIM(str) 去掉兩側(cè)空格
UPPER(str) 轉(zhuǎn)換成大寫

流程函數(shù)

函數(shù) 作用
IF(value, t, f) 如果value為真則返回t,否則返回f
IFNULL(value, result) 如果value不為NULL則返回value,否則返回result
CASE WHEN expr1 THEN result1 [WHEN ...] [ELSE default] END 根據(jù)各表達(dá)式的真假返回結(jié)果
CASE value WHEN enum1 THEN result1 [WHEN ...] [ELSE default] END value根據(jù)各枚舉值返回結(jié)果

使用流程函數(shù)時(shí)注意NULL的情況。

聚合函數(shù)

函數(shù) 作用
BIT_AND(row) 按位與
BIT_OR(row) 按位或

其他函數(shù)

用于數(shù)據(jù)庫管理的函數(shù):

函數(shù) 作用
BENCHMARK(times, statement) 對語句進(jìn)行性能測試
CURRENT_USER() 當(dāng)前認(rèn)證的用戶名和主機(jī),mysql.user表中的值
DATABASE() 當(dāng)前數(shù)據(jù)庫名,同SCHEMA
PASSWORD(str) 加密成系統(tǒng)密碼,結(jié)果長度為41
SCHEMA() 當(dāng)前數(shù)據(jù)庫名,同DATABASE
SESSION_USER() 當(dāng)前客戶端的用戶名和主機(jī),同USER
SYSTEM_USER() 當(dāng)前客戶端的用戶名和主機(jī),同USER
USER() 當(dāng)前客戶端的用戶名和主機(jī)
VERSION() 當(dāng)前MySQL版本

用于輔助查詢的函數(shù):

函數(shù) 作用
FOUND_ROWS() 上一次查詢返回的行數(shù)
LAST_INSERT_ID() 最后插入記錄使用的自增長值。如一次插入多條記錄,則返回第一條記錄使用的自增長值

用于計(jì)算的函數(shù):

函數(shù) 作用
BIN(value) 二進(jìn)制形式表示
CRC32(value) CRC32值
HEX(value) 十六進(jìn)制形式表示
INET_ATON(ip) IP從點(diǎn)分十進(jìn)制轉(zhuǎn)換成網(wǎng)絡(luò)字節(jié)序整數(shù)
INET_NTOA(uint) IP從網(wǎng)絡(luò)字節(jié)序整數(shù)轉(zhuǎn)換成點(diǎn)分十進(jìn)制
MD5(value) MD5值
SHA1(value) SHA1值

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多