mysql的常用函式有五種:數學函式、字串函式、日期和時間函式、流程控制函式、其他函式。
函式表示式
意義abs(x)
返回x的絕對值
sqrt(x)
返回非負數x的平方根
pi()
返回圓周率
mod(x,y)或x%y
返回x被y除的餘數
ceil(x)、deiling(x)
返回大於或等於x的最小整數值
floor(x)
返回小於或等於x的最大整數值
round(x,y)
返回保留小數點後面y位,四捨五入的數x
truncate(x,y)
返回被捨棄的小數點後y位的數字x
rand()
每次產生不同的隨機數
sign(x)
返回x的符號
pow(x,y)、power(x,y)
返回x的y次方的結果值
exp(x)
返回e的x次方的結果值
另外還有rand(x):返回乙個範圍在0~1之間的隨機浮點數,x為隨機種子。
char_length(str)
返回字串str的所包含字元個數
length(str)
返回字串str的位元組長度(乙個漢字佔兩個位元組)
concat(s1,s2,...)
字串連線
concat_ws(x,s1,s2,...)
字串連線,x是連線的分割符
insert(s1,x,len,s2)
返回字串s1,在x位置,長度為len插入s2
lower(str)、lcase(str)
將字串全部字元轉換成小寫
upper(str)、ucase(str)
將字串全部字元轉換成大寫
left(s,n)
返回最左邊指定長度的字元
right(s,n)
返回最右邊指定長度的字元
lpad(s1,len,s2)
在s1左邊填充s2,字串總長度為len
rpad(s1,len,s2)
在s1右邊填充s2,字串總長度為len
trim(s1 from s)
在s兩邊刪除字元s1
ltrim(s)
刪除字串s的左側空格 如" abc"
rtrim(s)
刪除字串s的右側空格 如"abc "
repeat(s,n)
生成有n個s的字串
space(n)
返回乙個由n個空格組成的字串
replace(s,s1,s2)
將s中的s1替換成s2
strcmp(s1,s2)
比較字串大小,>0左邊大,=0相同,<0右邊大
substring(s,n,len)
獲取從s的第n個字元開始長度為len的字串
locate(str1,str)、
position(str1 in str)、
instr(str,str1)
返回在str中str1的開始位置
reverse(s)
將s反轉
elt(n,s1,s2,s3,...)
返回第n個字串,若n小於1或大於引數的數目,則返回null
format(number)
將數字number以千分格式顯示:1,200.12
curdate()、current_date()
獲取當前日期
now()
獲取當前日期和時間
curtime()
返回當前時間,只包括時分秒
utc_date()
返回世界標準時間日期
utc_time()
返回世界標準時間
timediff(date1,date2)
返回兩個日期相差的時間
datediff(date1,date2)
返回兩個日期相差的天數
date_add(date,interval n unit)
在date上加n個unit,unit為年、月、日等時間間隔
date_sub(date,interval n unit)
在date上減n個unit,unit為年、月、日等時間間隔
date(date)、time(date)、year(date)
選區日期時間中的各個部分
extract(unit from date)
從日期中抽取出某個單獨的部分或組合
dayofweek(date)、dayofmonth(date)、
dayofyear(date)
返回當前是一周、一月、一年中的第幾天
dayname、monthname
但會日期的星期和月份名稱
date_formate(date,format)
格式化日期
time_formate(date,format)
格式化時間
timestampdiff(unit,date1,date2)
計算date1離date2多少個uint
附上format格式表
常見的控制流程控制函式有:case、if、ifnull、nullif
case:
表達一:
case value when compare_value then result
when compare_value then result ...
else result end;
例子:select case 1 when 1 then 'one'
when 2 then 'two'
else 'more' end;
表達二:
case when condition then result
when condition then result
else result end;
例子:select case when 1>0 then 'true' else 'false' end;
if:
表達:
if(exp1,exp2,exp3)
若exp1為真,則返回exp2,否則返回exp3
例子:select if(1>2,'yes','no');
ifnull和nullif
表達:
ifnull(exp1,exp2)或nullif(exp1,exp2)
這兩個表示式等價
若exp1為空,則返回exp2,否則返回exp1
例子:select ifnull(salary,0);
mysql 常用的函式 mysql常用的函式
1 if expr1,expr2,expr3 函式 如果 expr1 是true 則 if 的返回值為expr2 否則返回值則為 expr3。if 的返回值為數字值或字串值,具體情況視其所在語境而定。例 2 ifnull expr1,expr2 函式 如果expr1 不為 null,則 ifnull...
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之間的...