mysql encode 函式 mysql常用函式

2021-10-18 09:11:57 字數 4913 閱讀 1007

一、數學函式

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

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'

My程式設計修煉之道

最近想法有點多,已經大三末期的我思緒萬千,對於現在所在的路以及將來要走的路充滿著困惑於不解,但是有一點我是可以確定的,畢業之後我將要從事的行業必然是計算機行業。對於乙個沒有關係,沒有背景我來說,畢業的第一選擇必然是大學所學的專業了。大學裡辛辛苦苦學了四年的專業不能說丟就丟吧,畢竟人的一生能有幾個四年...

Mysql Workbench建模匯入MySQL中

我不知道其他人怎麼做。這個只是我自己摸索的做法。1.workbench中匯出sql檔案。file,export。一直下一步 當然也可以選一些東西 2.處理workbench出來的sql檔案。例如開頭一些set,結尾一些set貌似沒用。刪了。然後字元編碼也要處理一下,預設好像是latin1。這裡最好複...

MySQL WorkBench管理操作MySQL

一 mysql workbench mysql workbench提供dbas和developers乙個整合工具環境 1 資料庫設計和建模 2 sql開發 取代原來的mysql query browser 3 資料庫管理 取代原來的mysql administrator 2 安裝 3 入門資料庫例項...