MySQL 常用函數(shù)

在 MySQL 數(shù)據(jù)庫(kù)中,函數(shù)可以用在 SELECT 語(yǔ)句及其子句(例如 where、order by、having 等)中,也可以用在 UPDATE、DELETE 語(yǔ)句及其子句中

字符串函數(shù)

函數(shù) 功能
concat(s1,s2,...sn) 連接 s1,s2,...sn 為一個(gè)字符串
insert(str,x,y,instr) 將字符串 str 從第 x 位置開(kāi)始,y 個(gè)字符長(zhǎng)的子串替換為字符串 instr
lower(str) 將 str 轉(zhuǎn)換為小寫(xiě)
upper(str) 將 str 轉(zhuǎn)換為大寫(xiě)
left(str,x) 返回 str 最左邊的 x 個(gè)字符
right(str,x) 返回 str 最右邊的 x 個(gè)字符
lpad(str,n,pad) 用字符串 pad 對(duì) str 最左邊進(jìn)行填充,直到字符串長(zhǎng)度為 n
rpad(str,n,pad) 用字符串 pad 對(duì) str 最右邊進(jìn)行填充,直到字符串長(zhǎng)度為 n
ltrim(str) 去掉 str 行首的空格
rtrim(str) 去掉 str 行尾的空格
trim(str) 去掉 str 首尾的空格
repeat(str,x) 返回 str 重復(fù) x 次的結(jié)果
replace(str,a,b) 用字符串 b 替換 str 中所有出現(xiàn)的字符串 a
strcmp(s1,s2) 比較字符串 s1 和 s2 的 ASCII 碼值的大小
substring(str,x,y) 返回從 str 的 x 位置起 y 個(gè)字符長(zhǎng)度的子串
  1. concat() 函數(shù)與 NULL 連接時(shí)返回 NULL
  2. insert()substring() 的位置從 1 開(kāi)始

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

函數(shù) 功能
abs(x) 返回 x 的絕對(duì)值
ceil(x) 向上取整
floor(x) 向下取整
mod(x,y) 取模
rand() 返回 0 ~ 1 內(nèi)的隨機(jī)數(shù)
round(x,y) 返回 x 的四舍五入的有 y 位小數(shù)的值
truncate(x,y) 返回?cái)?shù)字 x 截?cái)酁?y 為小數(shù)的值
  1. round() 函數(shù) y 默認(rèn)為 0

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

函數(shù) 功能
curdate() 返回當(dāng)前日期
curtime() 返回當(dāng)前時(shí)間
now() 返回當(dāng)前的日期和時(shí)間
unix_timestamp(date) 返回日期 date 的 unix 時(shí)間戳
from_unixtime(timestamp) 返回 unix 的時(shí)間戳的日期值
week(date) 返回日期 date 為一年中的第幾周
year(date) 返回 date 的年份
hour(date) 返回 date 的小時(shí)
minute(date) 返回 date 的分鐘
month(date) 返回 month 的月份
monthname(date) 返回 date 的英文月份名
date_format(date,fmt) 返回按字符串 fmt 格式化日期 date 值
date_add(date,interval expr type) 返回一個(gè)日期或時(shí)間值加上一個(gè)時(shí)間間隔的日期值
date_diff(expr,expr2) 返回起始時(shí)間 expr 和結(jié)束時(shí)間 expr2 之間的天數(shù)
  1. unix_timestamp()from_unixtime() 函數(shù)互為逆操作

  2. date_format() 格式符

    格式符 格式說(shuō)明
    %s 和 %S 兩位數(shù)字形式的秒(00,01,...,59)
    %i 兩位數(shù)字形式的分(00,01,...,59)
    %H 兩位數(shù)字形式的小時(shí),24 小時(shí)(00,01,...,23)
    %h 和 %I 兩位數(shù)字形式的小時(shí),12 小時(shí)(01,02,...,12)
    %k 數(shù)字形式的小時(shí),24 小時(shí)(0,1,...,23)
    %l 數(shù)字形式的小時(shí),12 小時(shí)(1,2,...,12)
    %T 24 小時(shí)的時(shí)間形式(hh:mm:ss)
    %r 12 小時(shí)的時(shí)間形式(hh:mm:ssAM 或 hh:mm:ssPM)
    %p AM 或 PM
    %W 一周中每一天的名稱(Sunday,Monday,...,Saturday)
    %a 一周中每一天名稱的縮寫(xiě)(Sun,Mon,...,Sat)
    %d 兩位數(shù)字表示月中的天數(shù)(00,01,...,31)
    %e 數(shù)字形式表示月中的天數(shù)(1,2,...,31)
    %D 英文后綴表示月中的天數(shù)(1st,2nd,3rd,...)
    %w 以數(shù)字形式表示周中的天數(shù)(0=Sunday,1=Monday,...,6=Saturday)
    %j 以 3 位數(shù)字表示年中的天數(shù)(001,002,...,366)
    %U 周(0,1,52),其中 Sunday 為周中的第一天
    %u 周(0,1,52),其中 Monday 為周中的第一天
    %M 月名(January,February,...,December)
    %b 縮寫(xiě)的月名(Jan,Feb,...,Dec)
    %m 兩位數(shù)字表示的月份(01,02,...,12)
    %c 數(shù)字表示的月份(1,2,...,12)
    %Y 4 位數(shù)字表示的年份
    %y 2 位數(shù)字表示的年份
    %% 直接值 %
  3. date_add(date,interval expr type) 函數(shù),interval 是間隔類(lèi)型關(guān)鍵字,expr 是表達(dá)式,對(duì)應(yīng)后面的類(lèi)型,type 是間隔類(lèi)型

    間隔類(lèi)型 描述 格式
    hour 小時(shí) hh
    minute mm
    second ss
    year YY
    month MM
    day DD
    year_month 年和月 YY-MM
    day_hour 日和小時(shí) DD hh
    day_minute 日和分鐘 DD hh:mm
    day_second 日和秒 DD hh:mm:ss
    hour_minute 小時(shí)和分 hh:mm
    hour_second 小時(shí)和秒 hh:ss
    minute_second 分鐘和秒 mm:ss
    select date_add(now(),interval 1_2 year_month)
    

流程函數(shù)

函數(shù) 功能
if(value,t f) 如果 value 為真,返回 t,否則返回 f
ifnull(value1,value2) 如果 value1 不為空,返回 value1,否則返回 value2
case when [value1] then [result1]...else [default] end 如果 value1 是真,返回 result1,否則返回 default
case [expr] when [value1] then [result1]...else [default] end 如果 expr 等于 value1,返回 result1,否則返回 default
  1. ifnull(value1,value2) 函數(shù)一般用來(lái)替換 null 值。當(dāng) value1 為 null 時(shí)返回 value2

其它常用函數(shù)

函數(shù) 功能
database() 返回當(dāng)前數(shù)據(jù)庫(kù)名
version() 返回當(dāng)前數(shù)據(jù)庫(kù)版本
user() 返回當(dāng)前登錄用戶名
inet_aton(IP) 返回 IP 地址的數(shù)字表示
inet_ntoa(num) 返回?cái)?shù)字代表的 IP 地址
password(str) 返回字符串 str 的加密版本
md5(str) 返回字符串 str 的 md5 值
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.Concat(s1,s2...sn)函數(shù):把傳入的參數(shù)鏈接為一個(gè)字符串2.Insert(str,x,y,ins...
    HowieW閱讀 334評(píng)論 0 1
  • 前言: 可以用這樣的命令查看幫助 字符串函數(shù) CONCAT(S1,S2,...Sn) 函數(shù):把傳入的參數(shù)連接成一個(gè)...
    緩慢移動(dòng)的蝸牛閱讀 814評(píng)論 0 2
  • 一、數(shù)學(xué)函數(shù) ABS(x) 返回x的絕對(duì)值 BIN(x) 返回x的二進(jìn)制(OCT返回八進(jìn)制,HEX返回十六進(jìn)制) ...
    ernest128閱讀 333評(píng)論 0 0
  • 今天去了寸金面試海博會(huì)的志愿者。一開(kāi)始以為是下午的,后來(lái)朋友突然打電話來(lái)說(shuō)是上午面試,我們?nèi)サ暮苓t,是最后一個(gè),大...
    朝顏sweet閱讀 158評(píng)論 0 0
  • 很多時(shí)候有過(guò)這樣的經(jīng)歷,白天見(jiàn)過(guò)或者一閃而過(guò)的東西,夜里就會(huì)夢(mèng)到。無(wú)論是事還是人。夢(mèng)醒之后,想閉著眼睛繼續(xù)做夢(mèng)。尤...
    墩呀墩閱讀 374評(píng)論 1 0

友情鏈接更多精彩內(nèi)容