MySQL的常用函式

2021-09-25 17:17:53 字數 3466 閱讀 8042

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之間的...