MySQL 常用函式

2021-08-26 20:50:16 字數 4527 閱讀 7153

mysql 常用函式

1.字串類函式

(1)concat(s1,s2,s3,.....) 連線字串

例如:select concat('1','2') from dual;

輸出:12

(2)lower(s) 將字串全部變成小寫

例如:select lower('abc') from dual;

輸出:abc

(3)upper(s) 將字串全部變成大寫

例如:select upper('abc') from dual;

輸出:abc

(4)ltrim(s) 去除字串左側的空格

例如:select ltrim('           abc') from dual;

輸出:abc

(5)rtrim(s) 去除字串右側的空格

例如:select ltrim('abc ') from dual;

輸出:abc

(6)trim(s) 去除字串左右兩側的空格

例如:select ltrim( 'abc ') from dual;

輸出:abc

(7)lpad(s,len,pad) 用字串pad來對s左側進行填充,直至長度達到len

例如:select lpad('1',5,'0') from dual;

輸出:00001

(8)rpad(s,len,pad) 用字串pad來對s右側進行填充,直至長度達到len

例如:select rpad('1',5,'0') from dual;

輸出:10000

(9)repeat(s,x) 將s重複x後返回

例如:select repeat('a',5) from dual;

輸出:aaaaa

(10)replace(s,form,target) 將字串中包含form的字元替換成target

例如:select replace('abc','a','a') from dual;

輸出:abc

(11)strcmp(s1,s2) 比較s1與s2,如果相同返回0,s2大於s1返回1,s2小於s1返回-1

例如:select strcmp('a','b'),strcmp('a','a'),strcmp('b','a') from dual;

輸出:-1       0       1

(12)left(s,x) 返回字串左側x個字元

例如:select left('abc',2) from dual;

輸出:ab

(13)right(s,x) 返回字串右側x個字元

例如:select right('abc',2) from dual;

輸出:bc

(14)mid(s,x,y) 返回字串x位置開始y個字元

例如:select mid('abcd',3,2) from dual;

輸出:cd

(15)substring(s,x,y) 返回字串x位子開始y個字元,與mid基本一樣

例如:select substring('abcd',3,2) from dual;

輸出:cd

(16)insert(s,x,y,form) 將字串x位置開始y個字元替換成form字元

例如:select insert('abcd',3,2,'ff') from dual;

輸出:abff

(17)length(s) 返回s的長度

例如:select length('123') from dual;

輸出:3

(18)reverse(s) 返回s顛倒順序

例如:select reverse('abc') from dual;

輸出:cba

2.數字類函式

(1)ceil(n) 返回大於n最大的整數

例如:select ceil(100.1) from dual;

輸出:101

(2)floor(n) 返回小於n最大的整數

例如:select ceil(100.1) from dual;

輸出:100

(3)rand() 返回0到1的隨機數

例如:select rand() from dual;

輸出:0.13824381133377908

(4)round(n,y) 將n四捨五入保留y位小數

例如:select round(10.127,2) from dual;

輸出:10.13

(5)truncate(n,y) 將n保留y位小數

例如:select truncate(10.1277777,2) from dual;

輸出:10.12

3.日期類函式

(1)now() 返回當前日期時間

例如:select now() from dual;

輸出:2017-06-06 20:44:58

(2)curdate() 返回當前日期

例如:select curdate() from dual;

輸出:2017-06-06

(3)curtime() 返回當前時間

例如:select curtime() from dual;

輸出:20:46:15

(4)week(date) 返回日期為一年中的周

例如:select week('2017-06-06') from dual;

輸出:23

(5)year(date) 返回日期中的年

例如:select year('2017-06-06') from dual;

輸出:2017

(6)date_format(s,pattern) 格式化日期

例如:select date_format(now(),'%y%m%d') from dual;

輸出:20170606

格式化引數:

%y  表示兩位數字年份。例如:(2017返回17)

%y 表示四位數字年份。例如:(2017返回2017)

%m 表示兩位數字月份。例如:(01,02,....,12)

%c  表示數字的月份。例如:(1,2,3,4.....,12)

%m 表示月明,英文名稱。

%d  表示兩位數字的天數。例如:(01,02,03,.....31)

%e 表示數字的天數。例如(1,2,3,4,.....,31)

%h 表示兩位數字的小時數,24小時制。例如:(01,02,.....,24)

%i  表示兩位數字的分鐘數。例如:(01,02...,60)

%s %s 表示兩位數字的秒數。例如:(01,02...,60)

(7)datediff(d1,d2) 返回d1與d2相差的天數

例如:select datediff('2017-06-07','2017-06-06') from dual;

輸出:1

(8)date_add(d,interval y type) 給日期加上指定型別y值

例如:select date_add('2017-06-07',interval 1 month) from dual;

輸出:2017-07-07

type引數:

year 表示年

month 表示月

day 表示日

hour 表示小時

minute 表示分鐘

second 表示秒

(9)to_days(date) 返回date從0年以來的天數。

4.流程控制類函式

(1)if(v,t,f) 如果v為真返回t,否則返回f

例如:select if(1!=1,'1','2') from dual;

輸出:2

(2)ifnull(v1,v2) 如果v1不為null返回v1,否則返回v2

例如:select ifnull(null,'1') from dual;

輸出:1

(3)case when v then v1 end 判斷如果v為真返回v1

例如:select case when 1=1 then 'true' else 'false' end from dual;

輸出:true

例如:select case when 1!=1 then 'true' when 2=2 then 'test' else 'false' end from dual;

輸出:test

5.轉換類函式

(1)cast(v as type) 轉換資料型別。

type引數:

字元型:char

日期:date     

日期時間型:datetime

浮點數:decimal

整數:signed

無符號整數:unsigned

6.資料庫類函式

(1)database() 返回當前資料庫名稱

(2)version() 返回當前資料庫版本

(3)inet_aton(ip) 返回數字表示的ip

(4)inet_ntoa(num) 將數字表示的ip轉換為ip

(5)password(s) 返回加密版本

(6)md5(s) 返回md5加密值

mysql 常用函式迴圈 mysql 常用函式

mysql 常用函式 數字函式 ceiling x 返回大於x的最小整數值 floor x 返回小於x的最大整數值 truncate x,y 返回數字x截短為y位小數的結果 僅僅只是截斷,不會進行四捨五入計算 聚合函式 group concat col 返回由屬於一組的列值連線組合而成的結果 字串函...

mysql常用函式哪些 MySQL常用函式彙總

數學類函式 ceil x ceilin x 進一取整 floor x 捨掉小數部分 round x,y 四捨五入 保留y位小數 mod x,y x除以y以後的餘數 abs x 取x的絕對值 power x,y pow x,y 冪運算 x的y次冪 pi 圓周率 rand 或者rand x 0 1之間的...

mysql常用轉換函式 Mysql常用函式

ip位址轉換 inet aton 將ip位址轉換成數字型 inet ntoa 將數字型轉換成ip位址 phpip位址相互轉換 ip 轉整型 ip2long 133.114.56.135 轉整型後帶符號 2056111993 bindec decbin ip2long 133.114.56.135 轉...