mysql中的函式名 MySQL中的函式

2021-10-17 15:37:05 字數 4913 閱讀 8193

一、數學函式

數學函式主要用於處理數字,包括整型、浮點數等。

abs(x)

返回x的絕對值

select abs(-1) -- 返回1

ceil(x),ceiling(x)

返回大於或等於x的最小整數

select ceil(1.5) -- 返回2

floor(x)

返回小於或等於x的最大整數

select floor(1.5) -- 返回1

rand()

返回0->1的隨機數

select rand() --0.93099315644334

rand(x)

返回0->1的隨機數,x值相同時返回的隨機數相同

select rand(2) --1.5865798029924

pi()

返回圓周率(3.141593)

select pi() --3.141593

truncate(x,y)

返回數值x保留到小數點後y位的值(與round最大的區別是不會進行四捨五入)

select truncate(1.23456,3) -- 1.234

round(x,y)

保留x小數點後y位的值,但截斷時要進行四捨五入

select round(1.23456,3) -- 1.235

pow(x,y).power(x,y)

返回x的y次方

select pow(2,3) -- 8

sqrt(x)

返回x的平方根

select sqrt(25) -- 5

exp(x)

返回e的x次方

select exp(3) -- 20.085536923188

mod(x,y)

返回x除以y以後的餘數

select mod(5,2) -- 1

二、字串函式

字串函式是mysql中最常用的一類函式,字串函式主要用於處理表中的字串。

函式說明

char_length(s)

返回字串s的字元數

select char_length('你好123') -- 5

concat(s1,s2,...)

將字串s1,s2等多個字串合併為乙個字串

select concat('12','34') -- 1234

concat_ws(x,s1,s2,...)

同concat(s1,s2,...)函式,但是每個字串直接要加上x

select concat_ws('@','12','34') -- 12@34

insert(s1,x,len,s2)

將字串s2替換s1的x位置開始長度為len的字串

select insert('12345',1,3,'abc') -- abc45

upper(s),ucaase(s)

將字串s的所有字母變成大寫字母

select upper('abc') -- abc

lower(s),lcase(s)

將字串s的所有字母變成小寫字母

select lower('abc') -- abc

left(s,n)

返回字串s的前n個字元

select left('abcde',2) -- ab

right(s,n)

返回字串s的後n個字元

select right('abcde',2) -- de

ltrim(s)去掉字串s開始處的空格

rtrim(s)去掉字串s結尾處的空格

trim(s)去掉字串s開始和結尾處的空格

select trim('@' from '@@abc@@') -- abc

repeat(s,n)

將字串s重複n次

select repeat('ab',3) -- ababab

space(n)返回n個空格

replace(s,s1,s2)

將字串s2替代字串s中的字串s1

select replace('abca','a','x') --xbcx

strcmp(s1,s2)比較字串s1和s2

substring(s,n,len)獲取從字串s中的第n個位置開始長度為len的字串

locate(s1,s),position(s1 in s)

從字串s中獲取s1的開始位置

select locate('b', 'abc') -- 2

reverse(s)

將字串s的順序反過來

select reverse('abc') -- cba

field(s,s1,s2...)

返回第乙個與字串s匹配的字串位置

select field('c','a','b','c') -- 3

三、日期時間函式

mysql的日期和時間函式主要用於處理日期時間。

函式說明

curdate(),current_date()

返回當前日期

select curdate()

->2014-12-17

curtime(),current_time

返回當前時間

select curtime()

->15:59:02

now(),current_timestamp(),localtime(),

sysdate(),localtimestamp()

返回當前日期和時間

select now()

->2014-12-17 15:59:02

year(d),

month(d)

day(d)

返回日期d中的月份值,1->12

select month('2011-11-11 11:11:11')

->11

monthname(d)

返回日期當中的月份名稱,如janyary

select monthname('2011-11-11 11:11:11')

->november

dayname(d)

返回日期d是星期幾,如monday,tuesday

select dayname('2011-11-11 11:11:11')

->friday

dayofweek(d)

日期d今天是星期幾,1星期日,2星期一

select dayofweek('2011-11-11 11:11:11')

->6

weekday(d)

日期d今天是星期幾,

0表示星期一,1表示星期二

week(d),weekofyear(d)

計算日期d是本年的第幾個星期,範圍是0->53

select week('2011-11-11 11:11:11')

->45

dayofyear(d)

計算日期d是本年的第幾天

select dayofyear('2011-11-11 11:11:11')

->315

dayofmonth(d)

計算日期d是本月的第幾天

select dayofmonth('2011-11-11 11:11:11')

->11

quarter(d)

返回日期d是第幾季節,返回1->4

select quarter('2011-11-11 11:11:11')

->4

hour(t)

返回t中的小時值

select hour('1:2:3')

->1

minute(t)

返回t中的分鐘值

select minute('1:2:3')

->2

second(t)

返回t中的秒鐘值

select second('1:2:3')

->3

四、系統資訊函式

系統資訊函式用來查詢mysql資料庫的系統資訊。

函式作用

version()

返回資料庫的版本號

select version()

->5.0.67-community-nt

connection_id() 返回伺服器的連線數

database()、schema返回當前資料庫名

user()、system_user()

返回當前使用者

五、加密函式

加密函式是mysql用來對資料進行加密的函式。

1、password(str)

該函式可以對字串str進行加密,一般情況下,password(str)用於給使用者的密碼加密。

select password('123')

->*23ae809ddacaf96af0fd78ed04b6a265e05aa257

2、md5

md5(str)函式可以對字串str進行雜湊,可以用於一些普通的不需要解密的資料加密。

select md5('123')

->202cb962ac59075b964b07152d234b70

3、encode(str,pswd_str)與decode(crypt_str,pswd_str)

encode函式可以使用加密密碼pswd_str來加密字串str,加密結果是二進位制數,需要使用blob型別的字段儲存。該函式與decode是一對,需要同樣的密碼才能夠解密。

select encode('123','xxoo')

->;vx

select decode(';vx','xxoo')

->123

insert into login values('lch','alvin',encode('123','xxoo'),'50')

select name,decode(password,'xxoo') from login where username='lch'

mysql函式基礎 Mysql中的基礎函式

時間函式 select curdate 返回2014 09 12,不包含時分秒 select curtime 返回14 13 22,不包含年月日 select now 返回2014 09 12 10 46 17 select unix timestamp now unix timestamp dat...

mysql中的if函式

mysql中的if函式還是很強大的,特別是在做一些統計查詢時,可以講多個查詢結果合併成一條記錄 例如 有這樣一張表 產品名productname 使用者名稱username 部門departname 評分score 香瓜子張三 調查部2 香瓜子李四 調查部3 香瓜子王五 市場部4 香瓜子趙六 市場部...

MYSQL中的函式

文字函式 trim ltrim,rtrim去掉空格的函式。upper 大寫。lower 小寫。left 返回串左邊的字元。right 返回串右邊的字元。length 返回串的長度。locate 返回串的乙個子串。soundex 返回串的soundex值,發音類似的串。substring 返回子串的字...