MySQL 常用函數

在 MySQL 數據庫中诞外,函數可以用在 SELECT 語句及其子句(例如 where料睛、order byhaving 等)中撬槽,也可以用在 UPDATE此改、DELETE 語句及其子句中

字符串函數

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

數值函數

函數 功能
abs(x) 返回 x 的絕對值
ceil(x) 向上取整
floor(x) 向下取整
mod(x,y) 取模
rand() 返回 0 ~ 1 內的隨機數
round(x,y) 返回 x 的四舍五入的有 y 位小數的值
truncate(x,y) 返回數字 x 截斷為 y 為小數的值
  1. round() 函數 y 默認為 0

日期和時間函數

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

  2. date_format() 格式符

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

    間隔類型 描述 格式
    hour 小時 hh
    minute mm
    second ss
    year YY
    month MM
    day DD
    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:ss
    minute_second 分鐘和秒 mm:ss
    select date_add(now(),interval 1_2 year_month)
    

流程函數

函數 功能
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) 函數一般用來替換 null 值铺根。當 value1 為 null 時返回 value2

其它常用函數

函數 功能
database() 返回當前數據庫名
version() 返回當前數據庫版本
user() 返回當前登錄用戶名
inet_aton(IP) 返回 IP 地址的數字表示
inet_ntoa(num) 返回數字代表的 IP 地址
password(str) 返回字符串 str 的加密版本
md5(str) 返回字符串 str 的 md5 值
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末宪躯,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子位迂,更是在濱河造成了極大的恐慌访雪,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件掂林,死亡現場離奇詭異臣缀,居然都是意外死亡,警方通過查閱死者的電腦和手機泻帮,發(fā)現死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門精置,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人锣杂,你說我怎么就攤上這事脂倦》” “怎么了?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵赖阻,是天一觀的道長蝶押。 經常有香客問我,道長政供,這世上最難降的妖魔是什么播聪? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮布隔,結果婚禮上离陶,老公的妹妹穿的比我還像新娘。我一直安慰自己衅檀,他們只是感情好招刨,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著哀军,像睡著了一般沉眶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上杉适,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天谎倔,我揣著相機與錄音,去河邊找鬼猿推。 笑死片习,一個胖子當著我的面吹牛,可吹牛的內容都是我干的蹬叭。 我是一名探鬼主播藕咏,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼秽五!你這毒婦竟也來了孽查?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤坦喘,失蹤者是張志新(化名)和其女友劉穎盲再,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體瓣铣,經...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡洲胖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了坯沪。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绿映。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出叉弦,到底是詐尸還是另有隱情丐一,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布淹冰,位于F島的核電站库车,受9級特大地震影響,放射性物質發(fā)生泄漏樱拴。R本人自食惡果不足惜柠衍,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望晶乔。 院中可真熱鬧珍坊,春花似錦、人聲如沸正罢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽翻具。三九已至履怯,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間裆泳,已是汗流浹背叹洲。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留工禾,地道東北人运提。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像帜篇,于是被迫代替她去往敵國和親糙捺。 傳聞我的和親對象是個殘疾皇子诫咱,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內容

  • 1.Concat(s1,s2...sn)函數:把傳入的參數鏈接為一個字符串2.Insert(str,x,y,ins...
    HowieW閱讀 271評論 0 1
  • 前言: 可以用這樣的命令查看幫助 字符串函數 CONCAT(S1,S2,...Sn) 函數:把傳入的參數連接成一個...
    緩慢移動的蝸牛閱讀 780評論 0 2
  • 一笙隙、數學函數 ABS(x) 返回x的絕對值 BIN(x) 返回x的二進制(OCT返回八進制,HEX返回十六進制) ...
    ernest128閱讀 299評論 0 0
  • 今天去了寸金面試海博會的志愿者坎缭。一開始以為是下午的竟痰,后來朋友突然打電話來說是上午面試,我們去的很遲掏呼,是最后一個坏快,大...
    朝顏sweet閱讀 140評論 0 0
  • 很多時候有過這樣的經歷,白天見過或者一閃而過的東西祥得,夜里就會夢到兔沃。無論是事還是人。夢醒之后级及,想閉著眼睛繼續(xù)做夢乒疏。尤...
    墩呀墩閱讀 313評論 1 0