一起來聊聊,那些你不知道的 MySQL 函數

 那些你不知道的 MySQL 函數

Hello,大家好。我是公衆號“八點半技術站”的小編-Bruce.D。

今天是週三(2020-04-01),分享一句諺語 “千日造船,一日過江” 分享給大家的是 「MySQL 模塊」- 函數。因爲函數不管是我們日常開發中還是面試過程中,我們都會運用到。

因此,我希望通過小編的分享,願大家在往後面試中不會被 [] 這種問題所困擾。願大家都有一個完美的面試。

01

函數概念/介紹

mysql 也是從5.0 開始支持的函數,調用函數可以減少數據在數據庫和應用服務器上的傳輸,對於提高數據處理的效率。

mysql 提供的函數類型分爲:

    1. 數學函數

    2. 字符串函數

    3. 日期時間函數

    4. 條件判斷函數

    5. 系統信息函數

    6. 加密函數

    7. 格式化函數

02


數據函數

函數          說明
abs(x)        返回x的絕對值
ceil(x)       返回大於或等於x的最小整數,select ceil(1.5) --返回2
floor(x)      返回小於或等於x的最大整數,SELECT FLOOR(1.5) -- 返回1
rand()        返回0->1的隨機數,select rand() --0.93099315644334
pi()          返回圓周率(3.141593)
round(x)      返回離x最近的整數 ,SELECT ROUND(1.23456) --1
mod(x,y)      返回x除以y以後的餘數,select mod(5,3) --2
    

03


字符串函數

函數            說明
char_length(s)  返回字符串s的字符數,SELECT CHAR_LENGTH('你好123') -- 5
length(s)       返回字符串s的長度,SELECT LENGTH('你好123') -- 9
concat(s1,s2)   將字符串s1,s2等多個字符串合併爲一個字符串
upper(s)        將字符串s的所有字母變成大寫字母
left(s,n)       返回字符串s的前n個字符
right(s,n)      返回字符串s的前n個字符
replace(s,s1,s2)將字符串s2替代字符串s中的字符串s1
strcmp(s1,s2)   比較s1,s2,返回的值爲-1,0,1
substring(s,n,len)獲取從字符串s中的第n個位置開始長度爲len的字符串
reverse(s)      將s字符串反轉 
load_file(file_name)讀入文件並作爲一個字符串返回文件內容

04


時期時間函數

函數            說明
curdate()       返回當前時間的年月日
curtime()       返回當前時間的時分秒
now()           返回當前時間的日期和時間
month(d)        返回日期d中的月份值
monthname(d)    返回日期當中的月份名稱,如Janyary
unix_timestamp()以UNIX時間戳的形式返回當前時間
week(d)         計算日期d是本年的第幾個星期,範圍是0->53
hour(d)         返回d中的小時值
minute(d)       返回d中的分鐘值
second(d)       返回d中的秒鐘值

05


條件判斷函數

函數            說明
if(expr,v1,v2)  select if(1 > 0,'正確','錯誤')
ifnull(v1,v2)   如果v1的值不爲NULL,則返回v1,否則返回v2。

06


系統信息函數

函數            說明
version         返回數據庫的版本
connection_id() 返回服務器的連接數
user()          返回當前用戶
last_insert_id()返回最近生成的AUTO_INCREMENT值

07


加密函數

函數            說明
password(str)   對str字符串進行加密
md5(str)        MD5(str)函數可以對字符串str進行散列,
                可以用於一些普通的不需要解密的數據加密
sha(str)        sha加密
sha1(str)       sha1加密

————————end————————


歡迎大家加入WeChat 技術交流羣wechat:xzzs730

技術羣交流 長按 ↑ 上方二維碼 掃碼加羣 

鏈接地址技術羣分享-存檔記錄

https://github.com/gtcarry888/WeChat-Sharing-records

如有其他問題,可留言至 [email protected] 郵箱。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章