MySQL經常使用函數,你真得看看!

你們好,我是小菜,一個渴望在互聯網行業作到蔡不菜的小菜。可柔可剛,點贊則柔,白嫖則剛!
死鬼~看完記得給我來個三連哦!java

本文主要介紹 實際應用中經常使用的Mysql函數
若有須要,能夠參考
若有幫助,不忘 點贊mysql

創做不易,白嫖無義!web

概念:

至關於java中的方法,將一組邏輯語句封裝在方法體中,對外暴露方法名
1)隱藏了實現細節 2)提升代碼的可重用性sql

使用:

select 函數名(實參列表)【from 表】 【】中內容可省略數據庫

正文:

字符函數:
  • length: 獲取字節個數(utf-8 一個漢字爲3個字節,gbk爲2個字節)app

    SELECT LENGTH('cbuc')    # 輸出 4
    SELECT LENGTH('蔡不菜cbuc')   # 輸出13
    複製代碼
  • concat: 拼接字符串函數

    SELECT CONCAT('C','_','BUC')   # 輸出 C_BUC
    複製代碼
  • upper:將字母變成大寫spa

    SELECT UPPER('cbuc')    # 輸出 CBUC
    複製代碼
  • lower:將字母變成小寫code

    SELECT LOWER('CBUC')   # 輸出 cbuc
    複製代碼
  • substr / substring:裁剪字符串
    該方法進行了重構,
    orm

    在這裏插入圖片描述
substr(str,pos)       # str:要裁剪的字符串 , pos:要裁剪的長度
substr(str,pos,len)   # str:要裁剪的字符串 , pos/len:從哪一個位置開始裁剪幾位
# substring同理
複製代碼
  • instr:返回子串第一次出現的索引,若是沒有則返回0

    SELECT INSTR('蔡不菜','蔡')        # 輸出 1 (mysql是從1開始算位數)
    複製代碼
  • trim:字符串去【字符】

    SELECT TRIM('  cbuc  ')                 # 輸出 cbuc
    SELECT TRIM('a' from 'aaaacbucaaaa')    #輸出 cbuc
    複製代碼
  • lpad:用指定字符實現左填充指定長度

    SELECT LPAD('cbuc',6,'*')            # 輸出 **cbuc
    複製代碼
  • rpad:用指定字符實現右填充指定長度

    SELECT RPAD('cbuc',6,'*')            # 輸出 cbuc**
    複製代碼
  • replace 替換

    SELECT REPLACE('小菜愛睡覺','睡覺','吃飯')        # 輸出 小菜愛吃飯
    複製代碼
數學函數
  • round:四捨五入

    SELECT round(1.5)        # 輸出  2
    SELECT round(-1.5)        # 輸出 -2 該四捨五入計算方式爲:絕對值四捨五入加負號
    複製代碼
  • ceil:向上取整,返回>=該參數的最小整數

    SELECT CEIL(1.5);        # 輸出  2
    SELECT CEIL(-1.5);        # 輸出 -1
    複製代碼
  • floor:向下取整,返回<=該參數的最大整數

    SELECT FLOOR(1.5);        # 輸出  1
    SELECT FLOOR(-1.5);        # 輸出 -2
    複製代碼
  • truncate:截斷

    SELECT TRUNCATE(3.1415926,2);        # 輸出 3.14
    複製代碼
  • mod:取餘

    SELECT MOD(10,3);        # 輸出 1
    SELECT MOD(10,-3);        # 輸出 1
    複製代碼
日期函數
  • now:返回當前系統日期+時間

    SELECT NOW()               # 輸出 2020-02-16 11:43:21
    複製代碼
  • curdate:返回當前系統日期,不包含時間

    SELECT CURDATE()        # 輸出 2020-02-16
    複製代碼
  • curtime:返回當前時間,不包含日期

    SELECT CURTIME()        # 輸出 11:45:35
    複製代碼
  • year/month/day 能夠獲取指定的部分,年、月、日、小時、分鐘、秒

    SELECT YEAR(NOW())        # 輸出 2020   其餘用法一致
    複製代碼
  • str_to_date:將字符經過指定的格式轉換成日期

    SELECT STR_TO_DATE('02-17 2020','%c-%d %Y')      # 輸出 2020-02-17
    複製代碼
  • date_format:將日期轉換成字符

    SELECT DATE_FORMAT(NOW(),'%Y年%m月%d日')        # 輸出 2020年02月17日
    複製代碼
  • datediff:兩個日期天數之差

    SELECT DATEDIFF(NOW(),'2020-02-12')           # 輸出    5
    複製代碼
其餘函數
  • VERSION:查看mysql 版本

    SELECT VERSION();           # 輸出 5.7.17
    複製代碼
  • DATABASE:查看當前數據庫

    SELECT DATABASE()          # 輸出 cbuc_datebase
    複製代碼
  • USER:查看當前用戶

    SELECT USER()               # 輸出 root@localhost
    複製代碼
流程控制函數
  • if 函數: 相似三目運算

    SELECT IF(10<5,'大','小')        # 輸出 小
    複製代碼
  • case函數:case 有兩種用法

    1. switch case 的效果
    case 要判斷的字段或表達式
    when 常量1 then 要顯示的值1或語句1;
    when 常量2 then 要顯示的值2或語句2;
    ...
    else 要顯示的值n或語句n;
    end
    複製代碼
    1. 相似於多重if
    case 
    when 條件1 then 要顯示的值1或語句1
    when 條件2 then 要顯示的值2或語句2
    ...
    else 要顯示的值n或語句n
    end
    複製代碼
在這裏插入圖片描述
看完不讚,都是壞蛋

今天的你多努力一點,明天的你就能少說一句求人的話!

相關文章
相關標籤/搜索