做Java還不知道的MySQL常用函數,那你真得看看,建議收藏

概念:

相當於java中的方法,將一組邏輯語句封裝在方法體中,對外暴露方法名

  • 隱藏了實現細節
  • 提高代碼的可重用性

使用:

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

正文:

字符函數:

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

SELECT LENGTH('cbuc')    # 輸出 4
SELECT LENGTH('蔡不菜cbuc')   # 輸出13

concat:拼接字符串

SELECT CONCAT('C','_','BUC')   # 輸出 C_BUC

upper:將字母變成大寫

SELECT UPPER('cbuc')    # 輸出 CBUC

lower:將字母變成小寫

SELECT LOWER('CBUC')   # 輸出 cbuc

substr / substring:裁剪字符串該方法進行了重構,

做Java還不知道的MySQL常用函數,那你真得看看,建議收藏

 

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,'大','小')        # 輸出 小

switch case 的效果

case 要判斷的字段或表達式
when 常量1 then 要顯示的值1或語句1;
when 常量2 then 要顯示的值2或語句2;
...
else 要顯示的值n或語句n;
end

類似於多重if

case 
when 條件1 then 要顯示的值1或語句1
when 條件2 then 要顯示的值2或語句2
...
else 要顯示的值n或語句n
end
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章