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 轉...